机器人论坛
直播中

王露

7年用户 175经验值
私信 关注
[问答]

求MySQL集群配置的思路分享?

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

回帖(1)

赵伟

2020-11-5 16:38:30
思路
A服务器与B服务器互为主MySQL,进行读写同步。
关键配置
/etc/my.cnf中需要新增开启集群模式
A服务器:
log-bin=mysql-binserver-id=1binlog_format=mixedrelay-log=mysql-relay-logrelay_log_purge=onauto_increment_offset=1auto_increment_increment=2
B服务器:
log-bin=mysql-binserver-id=2binlog_format=mixedrelay-log=mysql-relay-logrelay_log_purge=onauto_increment_offset=1auto_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服务器作为masterchange 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服务器作为masterchange 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状态即为成功配置。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分