centos7下mysql5.7双主热备
两台数据库需要双主同步复制
server1 centos7 192.168.0.6 mysql5.7
server2 centos7 192.168.0.7 mysql5.7
安装好mysql5.7,2台都需要安装,
分别打开server1、2的防火墙,在生产环境中建议加强密码和防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
server1的/etc/my.cnf中[mysqld]下面增加,其中expire-logs-days=100的意思是100天的日志,将会非常大,建议生产环境设成15天,也就是expire-logs-days=15
log-bin=mysql-bin
gtid-mode=on
enforce-gtid-consistency=true
expire-logs-days=100
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
report-port=3306
report-host=192.168.0.6
#replicate-same-server-id
server_id = 1
log-slave-updates
slave-skip-errors=all
auto_increment_increment=2
auto_increment_offset=1
servier2的/etc/my.cnf中[mysqld]下面增加
log-bin=mysql-bin
gtid-mode=on
expire-logs-days=100
enforce-gtid-consistency=true
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
report-port=3306
report-host=192.168.0.7
#replicate-same-server-id
server_id =2
log-slave-updates
slave-skip-errors=all
auto_increment_increment=2
auto_increment_offset=2
保存并退出,分别重启两台mysql
systemctl restart mysqld.service
在server1登录mysql后,创建一个192.168.0.7的远程主机访问,用户名为slave密码为loshub123258
grant replication slave on *.* to 'slave'@'192.168.0.7' identified by 'loshub123258';
flush privileges;
show master status\G;
在server2登录mysql后,创建一个192.168.0.6的远程主机访问,用户名为slave密码为loshub123258
grant replication slave on *.* to 'slave'@'192.168.0.6' identified by 'loshub123258';
flush privileges;
show master status\G;
分别在两台server上输入,可以看到
server1 File: mysql-bin.000001 Position: 154 Binlog_Do_DB: Binlog_Ignore_DB:
server2 File: mysql-bin.000002 Position: 182 Binlog_Do_DB: Binlog_Ignore_DB:
这里我们要注意的是mysql-bin.000001和mysql-bin.000002及Position的值,我们现在分别告诉这两台机的值。
在server1上
change master to master_host='192.168.0.7',master_user='slave',
master_password='loshub123258',master_log_file='mysql-bin.000002',
master_log_pos=182;
start slave;
server2上
change master to master_host='192.168.0.6',master_user='slave',
master_password='loshub123258',master_log_file='mysql-bin.000001',
master_log_pos=154;
start slave;
查看主主同步,show slave status\G;
查看server1和2的Slave_IO_Running与Slave_SQL_Running的值,如果同时是YES,配置完成
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如出现其它,请检查步骤
版权申明
本文系作者 @天边的云 原创发布在Loshub站点。未经许可,禁止转载。
暂无评论数据