两台数据库需要双主同步复制
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

如出现其它,请检查步骤

分类: mysql 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录