Linux MySQL 多实例配置

Linux MySQL 多实例配置

概述

由于一些测试或者开发上的需要,我们可能需要多个的Mysql服务,但是在多个服务器上部署Mysql无疑成本太高, 
幸好MySQL提供了一个在一台服务器上运行多个mysql实例的工具:mysqld_multi。这个工具可以管理多个mysqld进程,而这些进程监听在不同的socket文件和端口上。通过这个工具,还可以启动和停止这些mysqld进程,也可获取到运行状态。

配置

要mysqld_multi工作,我们需要对mysql的配置文件进行修改。假设我们已经在Linux下安装好了MySQL 
(以我的机器为例,MySQL安装在/var/lib/mysql下,配置文件my.cnf放在/etc下)。

1、 首先需要在/etc/my.cnf 中添加配置组[mysqld_multi],配置信息如下

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = root
password   = dingjia

这些配置主要让mysqld_multi能管理mysqld进程,包括启动、停止以及报告状态等。user和password用来停止mysqld服务 
2、 然后我们需要为每个mysqld实例在/etc/my.cnf中添加一个配置,例如我们需要运行两个实例,配置信息如下:

[mysqld2]
socket     = /var/lib/mysql2/mysql.sock2
port       = 3307
pid-file   = /tmp/mysqld2.pid
datadir    = /var/lib/mysql2
user       = mysql
[mysqld3]
socket     = /var/lib/mysql3/mysql.sock3
port       = 3308
pid-file   = /tmp/mysqld3.pid
datadir    = /var/lib/mysql3

每一个实例我们需要增加一个[mysqldN]的配置。N是一个数字,从1开始,用来标识每个实例,mysqld_multi通过这个数字编号可以具体的管理到每个实例。我们需要为每个实例配置不同的socket、port和pid-file。 
3、初始化各个实例

mysql_install_db --user=mysql --datadir=/var/lib/mysql2
mysql_install_db --user=mysql --datadir=/var/lib/mysql3
  •  

4、现在,我们可以启动我们的多个实例了

mysqld_multi start
  •  

用以下命令来查看实例的运行状态

mysqld_multi report
  •  

如果实例没有正常启动到,我们可以在启动时增加日志来查看失败的原因:

mysqld_multi --log=/tmp/multi_mysqld.log start
  •  

如果想启动具体某个实例,我们只需要在启动时加上实例的编号即可:

mysqld_multi start 2
  •  

5、登录实例:

mysql -S /var/lib/mysql2/mysql.sock2 -u root -p
  •  

6、我们需要对每个实例添加一个具有SHUTDOWN权限的帐号,用于停止实例。首先先登录实例,然后添加帐号和权限:

mysql> GRANT SHUTDOWN ON *.* TO 'root'@'localhost' IDENTIFIED BY 'dingjia';
mysql> FLUSH PRIVILEGES;
  •  

所有实例的帐号权限都添加好后,我们就可以运行以下命令停止实例了:

mysqld_multi stop
  •  

同样的,我们可以指定需要停止的实例,只需要在命令加上实例的编号即可:

mysqld_multi stop 2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值