`
chaijuntao
  • 浏览: 23153 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Mysql双主从同步配置(二)

 
阅读更多

接上节,本节需要做的是配置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上,至此,双主从复制方案部署成功!

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics