接上节,本节需要做的是配置M-M的replication,主主同步其实可以简单的看成两台实例间同时互相做主从,配置步骤如下:
1、两台Master都要进行账户授权,但由于上一节我们在两台主机上针对所有ip(‘%’)进行了授权,所以这一步我们可以省略,如果之前只针对单IP进行授权的同学,需要再进行一次Master间的互授权
mysql>> GRANT REPLICATION SLAVE ON *.* TO 'user'@'ip' IDENTIFIED BY 'password';
2、修改两个数据库的my.conf文件,加入以下配置:
因为两台均为master,所以为了避免自增主键冲突,需要设置自增开始值一个为1,一个为2,同时每次递增2,保证自增主键不冲突。
Master A:
log-slave-updates sync_binlog=1 auto_increment_offset=1 auto_increment_increment=2 slave-skip-errors=all #过滤掉一些没啥大问题的错误
Master B:
log-slave-updates sync_binlog=1 auto_increment_offset=2 auto_increment_increment=2 slave-skip-errors=all #过滤掉一些没啥大问题的错误
3、分别重启Master A 和 Master B的mysql服务
4、分别查看两个实例的master状态
Master A:
mysql> flush tables with read lock;#防止进入新的数据 Query OK, 0 rows affected (0.00 sec) mysql> show master status\G; *************************** 1. row *************************** File: mysql-bin.000007 Position: 438 Binlog_Do_DB: db_rocky Binlog_Ignore_DB: mysql 1 row in set (0.00 sec)
Master B:
mysql> flush tables with read lock;#防止进入新的数据 Query OK, 0 rows affected (0.00 sec) mysql> show master status\G; *************************** 1. row *************************** File: mysql-bin.000008 Position: 107 Binlog_Do_DB: db_rocky Binlog_Ignore_DB: mysql 1 row in set (0.01 sec)
5、分别在两个实例上执行change master指令,指定同步位置:
Master A:
mysql> change master to master_host='192.168.4.87',master_user='water',master_password='cdio2010', -> master_log_file='mysql-bin.000008',master_log_pos=107; Query OK, 0 rows affected (0.05 sec)
Master B:
mysql> change master to master_host='192.168.4.85',master_user='water',master_password='cdio2010', -> master_log_file='mysql-bin.000007',master_log_pos=438; Query OK, 0 rows affected (0.05 sec)
注:master_log_file,master_log_pos由上面主服务器查出的状态值中确定
6、解锁两个数据库实例的表和启动从服务器线程:
mysql> unlock tables; Query OK, 0 rows affected (0.00 sec) mysql> start slave; Query OK, 0 rows affected (0.00 sec)
7、分别查看从服务器状态
Master A上 mysql> show slave status\G; *************************** 1. row *************************** 主要关注以下 2 个参数: ... ... Slave_IO_Running: Yes Slave_SQL_Running: Yes ... ... Master B上: mysql> show slave status\G; *************************** 1. row *************************** 主要关注以下 2 个参数: ... ... Slave_IO_Running: Yes Slave_SQL_Running: Yes ... ...
接下去,分别在两台实例的test1库中进行操作,发现能同步到另外一台Master上,至此,双主从复制方案部署成功!
相关推荐
mysql主从同步配置 mysql主从同步配置 mysql主从同步配置
详细描述MySQL主从同步配置过程
Mysql5.1.7以上版本主从同步配置方法
手把手说明如何在linux下配置MySQL的主从同步,windows下同样适宜,仅与Linux系统中的MySQL配置文件名不同而已
12.1: MySQL主从同步 、 主从同步模式 、 总结和答疑.docx
Linux-Mysql主从同步详解...公司内部教学!!!!!!!
主从同步配置操作: 说是主从实际上从机也可以当做主机; 主机mysql做的操作能够影响从机,从机mysql做的操作也能影响主机。内部还有一些常见错误,哪怕是新手都么么哒,我讲的很详细的,详细的我都害怕
mysql主从同步配置详解、一台服务器两个mysql,本地安装两个mysql实现主从同步
mysql主从同步及canal配置详解.docx
mysql数据库主从同步配置文档
dble配置mysql主从同步
超详细MySQL主从配置和主主同步总结。。。。。。。。。
配置mysql5.5主从服务器(转)
win系统下的mysql主从同步配置,非常详细,图文并茂.用来教学非常合适.对mysql只是稍微懂一点都可以配置
mysql主从同步配置,要实现 MySQL 的 Replication ,首先必须打开 Master 端的Binary log(mysql-bin.xxxxxx)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全按顺序的...
MySQL借助Google提供的插件,完成半同步复制模型,大家可以学习配置下
详细介绍windows下mysql主从同步备份步骤,简单,明了
mysql主主从配置,实现了主主数据库数据同步,以及从数据库的数据备份,实现了读写分离
CentOs7下mysql5.7的下载安装以及主从同步、双主多从配置详情