mysql的主主同步实际上就是两台服务器之间互为主从,所以基本原理和mysql主从是一样的,所以可以先按我的这篇博客mysql主从同步配置 配置主从同步后, 再按以下步骤配置反向的主从同步即可,具体如下:
登录原来的从机,即Ip为192.168.0.105的服务器
在原来的从机上本置一个用于同步的用户,如下:
GRANT REPLICATION SLAVE ON *.* to 'mysync'@'192.168.0.101' identified by 'q123456';
2. 锁定数据库,如下
mysql> flush tables with read lock;
Query OK, 0 rows affected (0.03 sec)
3. 查看主机的当前状态(因为这时候把原来的从机当作了主机):
mysql> show master status;
+------------------+----------+--------------+------------------+---------------
----+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_
Set |
+------------------+----------+--------------+------------------+---------------
----+
| mysql-bin.000003 | 341 | | |
|
+------------------+----------+--------------+------------------+---------------
----+
1 row in set (0.00 sec)
4. 记录下File和Position两个字段的值,下面配置另一台服务器的主机时需要用到
5. 解锁数据库
unlock tables;
Query OK, 0 rows affected (0.00 sec)
登录原来的主机,即Ip为192.168.0.105的服务器
1. 配置对应主服务器的信息(这时对应的主服务器为原来的从机即ip为192.168.0.101的服务器)
mysql> change master to master_host='192.168.0.105',master_user='mysync',master_
password='q123456', master_log_file='mysql-bin.000003',master_log_pos=341;
Query OK, 0 rows affected, 2 warnings (0.91 sec)
2. 启动从属进程
mysql> start slave;
Query OK, 0 rows affected (0.09 sec)
mysql> start slave;
Query OK, 0 rows affected (0.09 sec)
mysql> show slave status\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.105
Master_User: mysync
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 341
Relay_Log_File: user-PC-relay-bin.000002
Relay_Log_Pos: 283
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
最后使用show slave status命令查看Slave_IO_Running和Slave_SQL_RunningG两个字段的值都为YES即表示配置成功。
备注:
最后貌似还要在原来的从机现在主机上再次配置对应主机的信息才行,即重新执行以下命令
mysql> change master to master_host='192.168.0.101',master_user='mysync',master_
password='q123456', master_log_file='mysql-bin.000001',master_log_pos=341;
Query OK, 0 rows affected, 2 warnings (0.91 sec)
然后还需要再次重启slave进程才行,否则在原来主机上的操作不会同步到从机上来。
来源:oschina
链接:https://my.oschina.net/u/914897/blog/502538