mysqld_multi—-管理多实例数据库

Linux, MySQL , , , ,

mysqld_multi是用来管理在同一台机器上监听着不同的端口和不同的socket连接的多个mysqld进程。它可以用来启动或者停止这些服务,也可以报告他们当前的状态。

要使用这个服务,我们首先得建立一个多实例对象的配置文件,格式如下:

[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
[mysqld1]
socket = /tmp/mysql.sock1
port = 3307
pid-file = /var/lib/mysql1/hostname.pid1
datadir = /var/lib/mysql1
log = /var/lib/mysql1/log-file.log
log-error = /var/lib/mysql1/log-error.err
[mysqld2]
socket = /tmp/mysql.sock2
port = 3308
pid-file = /var/lib/mysql2/hostname.pid2
datadir = /var/lib/mysql2
log = /var/lib/mysql2/log-file.log
log-error = /var/lib/mysql2/log-error.err

跟普通的配置文件相比,这里首先多了一个[mysqld_multi]的配置
这个里面要配置的参数一般就是四个参数
mysqld与mysqladmin,填写你的mysqld_safe与mysqladmin的全路径就可以了。
user与password,管理帐号的用户名写密码,也就是说你需要在所有的实例中设置一个相同的用户名(密码也要相同)。

然后就是[mysqldN],N可以是任意整数,但是不能重复,代表的是实例ID(官方叫GNR)
这里面的参数就跟普通配置文件[mysqld]一样了。
我不多说了。

启动与停止指定的实例

mysqld_multi --config-file=/etc/my_multi.cnf start 1,2
mysqld_multi stop 1,2

这里的1,2就是我们前面写的N(GNR)
一般在启动的时候,我们需要指定配置文件,停止的时候不要

报告实例的状态:

mysql_multi report 1,2

Leave a Reply