欢迎光临
我们一直在努力

Mysql利用mysql_multi配置一台主机多个实例 - MySQL数据库

Mysql官方帮助文档中,详细记录中Mysql的启动方式,有mysqld_safemysql.servermysql_multi这三种。关于mysql_multi的介绍:


Mysqld_multi可以管理多个帧听不同Unix套接字文件和TCP/IP端口的连接的mysqld 进程。它可以启动或停止服务器,或报告它们的当前状态。

即可以管理多个实例。

笔者在之前也介绍过使用mysqld_safe启用多实例的方法,启动和关闭都指定配置文件,实例间是对立的,互不影响。成功的部署了多个实例主从Replication,今天也介绍下mysql_multi多实例管理,配置简单,方便管理。

1、首先配置my.cnf文件,列出我的Mysql配置文件:

  • [mysqld_multi]
  • mysqld = /usr/local/mysql/bin/mysqld_safe #根据自己的mysql目录配置
  • mysqladmin = /usr/local/mysql/bin/mysqladmin
  • [mysqld1]
  • port = 3306
  • socket = /tmp/mysql3306.sock
  • basedir=/usr/local/mysql
  • datadir=/mysqldata/data3306
  • log-slow-queries=slow_query.txt
  • long_query_time=2
  • skip-locking
  • skip-name-resolve
  • skip-innodb
  • max_allowed_packet = 256M
  • query_cache_size=256M
  • max_connections=2000
  • max_connect_errors=10000
  • key_buffer_size=6000M
  • read_buffer_size=32M
  • read_rnd_buffer_size = 32M
  • myisam_sort_buffer_size=512M
  • tmp_table_size=1024M
  • old-passwords
  • interactive_timeout=60
  • wait_timeout=60
  • connect_timeout=60
  • table_cache=8192
  • thread_cache_size=512
  • sort_buffer_size=128M
  • back_log = 500
  • thread_concurrency=48
  • expire_logs_days=10
  • log-bin=mysql-bin
  • [mysqld2]
  • port = 3307
  • socket = /tmp/mysql3307.sock
  • basedir=/usr/local/mysql
  • datadir=/mysqldata/data3307
  • log-slow-queries=slow_query.txt
  • long_query_time=2
  • skip-locking
  • skip-name-resolve
  • skip-innodb
  • max_allowed_packet = 256M
  • query_cache_size=256M
  • max_connections=2000
  • max_connect_errors=10000
  • key_buffer_size=6000M
  • read_buffer_size=32M
  • read_rnd_buffer_size = 32M
  • myisam_sort_buffer_size=512M
  • tmp_table_size=1024M
  • old-passwords
  • interactive_timeout=60
  • wait_timeout=60
  • connect_timeout=60
  • table_cache=8192
  • thread_cache_size=512
  • sort_buffer_size=128M
  • back_log = 500
  • thread_concurrency=48
  • expire_logs_days=10
  • log-bin=mysql-bin
  • [mysqldump]
  • quick
  • max_allowed_packet = 512M
  • [mysql]
  • no-auto-rehash
  • [isamchk]
  • key_buffer = 512M
  • sort_buffer_size = 32M
  • read_buffer = 2M
  • write_buffer = 2M
  • [myisamchk]
  • key_buffer = 512M
  • sort_buffer_size = 32M
  • read_buffer = 2M
  • write_buffer = 2M
  • [mysqlhotcopy]
  • interactive-timeout
  • 2、初始化数据库目录:

  • shell>cd /usr/local/mysql/;./scripts/mysql_install_db –datadir=/mysqldata/data3307/ –user=mysql
  • shell>cd /usr/local/mysql/;./scripts/mysql_install_db –datadir=/mysqldata/data3306/ –user=mysql
  • 初始话成功,会提示OK,否则查看数据库目录是否有权限。

    3、启动多实例:

  • shell>/usr/local/mysql/bin/mysqld_multi start 1-2
  • shell>/usr/local/mysql/bin/mysqld_multi start 1
  • shell>/usr/local/mysql/bin/mysqld_multi start 2
  • 注意这里的12对应my.cnf配置文件 mysqld1mysqld2,以此来区分。


    4、本机登录Mysql,如3307端口:

  • shell>mysql -S /tmp/mysql3307.sock
  • mysql> show variables like ’datadir’;
  • +—————+———————-+
  • | Variable_name | Value |
  • +—————+———————-+
  • | datadir | /mysqldata/data3307/ |
  • +—————+———————-+
  • 1 row in set (0.00 sec)

  • 4关闭数据库实例

  • shell>/usr/local/mysql/bin/mysqld_multi stop 1-2
  • shell>/usr/local/mysql/bin/mysqld_multi stop 1
  • shell>/usr/local/mysql/bin/mysqld_multi stop 2
  • 赞(0)
    【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。