Leo_zhou

练习时长八年半的运维工程师

MySQL集群配置思路

情况
PXC集群方案可以完全满足三台以上的MySQL部署,但有时也会遇到只有2台服务器的情况,所以有必要再去熟悉下MySQL的基础主从或者主主集群的方式。

思路
A服务器与B服务器互为主MySQL,进行读写同步。

关键配置
/etc/my.cnf中需要新增开启集群模式
A服务器:

log-bin=mysql-bin
server-id=1
binlog_format=mixed
relay-log=mysql-relay-log
relay_log_purge=on
auto_increment_offset=1
auto_increment_increment=2

B服务器:

log-bin=mysql-bin
server-id=2
binlog_format=mixed
relay-log=mysql-relay-log
relay_log_purge=on
auto_increment_offset=1
auto_increment_increment=2

1.server-id——一定要有区分不然会有异常
2.log-bin——开启logbin日志

主主同步
在A,B服务器上分别创建同步专门使用的账号

A服务器:grant replication slave on *.* to 'slave'@'B服务器IP地址' identified by '123456'; 
B服务器:grant replication slave on *.* to 'slave'@'A服务器IP地址' identified by '123456';

先配置A服务器作为slave同步B服务器,然后再配置B服务器同步A服务器,最终形成互为主MySQL的集群模式
A服务器:

#先停止slave模式,准备同步B服务器数据
stop slave;
#通过show master status\G命令先从B服务器上获取log-file和log-pos相关信息,然后在A服务器上配置B服务器作为master
change master to master_host='B服务器IP', master_port=3306, master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=123;
#开启slave模式
start slave;

B服务器:

#先停止slave模式,准备同步B服务器数据 
stop slave;
#通过show master status\G命令先从A服务器上获取log-file和log-pos相关信息,然后在B服务器上配置A服务器作为master 
change master to master_host='A服务器IP', master_port=3306, master_user='slave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=123; 
#开启slave模式
start slave;

验证配置
完成以上操作后,分别使用show slave status\G命令查看slave同步的状态,只有当Slave_IO_Running和Slave_SQL_Runing都为yes状态即为成功配置。
《MySQL集群配置思路》

思考
如果需要主从模式该怎么配置?同样只需要减少一步,不配置两个slave经行同步即可。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注