mysql主主同步配置

北战南征 提交于 2020-04-12 17:34:40

mysql的主主同步实际上就是两台服务器之间互为主从,所以基本原理和mysql主从是一样的,所以可以先按我的这篇博客mysql主从同步配置 配置主从同步后, 再按以下步骤配置反向的主从同步即可,具体如下:

登录原来的从机,即Ip为192.168.0.105的服务器

  1. 在原来的从机上本置一个用于同步的用户,如下:

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进程才行,否则在原来主机上的操作不会同步到从机上来。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!