Mysql主从同步异常处理

一、在Mysql中,如果是主从(包括一主多从)模式的数据库配置。请在创建数据库和对数控库进行增删改查操作,一定要在主库进行,从库主要提供主库备份和数据查询功能,请勿直接在从库进行增删改查。

二、如果因为操作不当,导致从库不再同步主库了。
那这就需要从新配置从库了。

三、登陆主库,查看主库的信息

mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |      154 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

四、登陆从库查看从库是否在同步主库

mysql>show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 39.107.227.105
                  Master_User: backup
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 2021
               Relay_Log_File: iZ2ze451u03knf2sumyavyZ-relay-bin.014660
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: No
            Slave_SQL_Running: No
              Replicate_Do_DB: 
            ......
            Seconds_Behind_Master:NULL

五、你会发现下面的参数变成No和NULL了,就说明从库同步出现了问题

ead_Master_Log_Pos: 2021 。端口都不一致了
Slave_IO_Running: No
Slave_SQL_Running: No
Seconds_Behind_Master:NULL

六、从新配置从库同步主库
1.先停止从库同步线程

mysql> Stop SLAVE;
Query OK, 0 rows affected (0.01 sec)

2.配置需要同步的主库信息

mysql> CHANGE MASTER TO MASTER_HOST='39.107.227.105', MASTER_USER='backup', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

3.启动从库同步线程

mysql> START SLAVE;
Query OK, 0 rows affected (0.01 sec)

七、查看从库的同步状态

mysql>show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 39.107.227.105
                  Master_User: backup
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000001
          Read_Master_Log_Pos: 154
               Relay_Log_File: iZ2ze451u03knf2sumyavyZ-relay-bin.014660
                Relay_Log_Pos: 320
        Relay_Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
            ......
            Seconds_Behind_Master:0

参数一切正常:

Read_Master_Log_Pos: 154
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master:0

好了,主从同步异常的问题就这样解决了。

MySQL主从同步异常是指在主从复制过程出现的错误或异常,可能导致主从数据不一致或同步延迟。对于这种情况,通常可以采取一些措施来解决或修复。 首先,我们可以通过检查MySQL主从配置文件、网络连接、用户权限等方面,排查配置问题和网络问题。确保主从服务器之间网络连接正常,主从配置正确,且用户权限设置正确。 其次,我们可以尝试重启MySQL服务来恢复主从同步。通过在主服务器上执行"FLUSH TABLES WITH READ LOCK"命令,锁定表并停止写入操作,然后重启主服务器和从服务器。这可以帮助重新建立主从同步关系。 如果以上方法未能解决同步异常问题,我们可以考虑使用一些专门用于修复MySQL主从同步问题的软件工具。例如,Percona Toolkit提供了一些工具,如pt-table-checksum和pt-table-sync,可以用于检查主从数据的一致性并修复不一致的数据。这些工具可以帮助找出数据不一致的表和行,并进行同步修复。 此外,如果主从同步异常是由于网络故障或服务器宕机等硬件故障引起的,我们可以考虑恢复数据库备份来修复同步异常。通过使用备份数据重新构建主从复制关系,可以确保数据的一致性,并尽量减小同步延迟。 总而言之,针对MySQL主从同步异常,我们可以通过检查配置、重启服务、使用专门工具、恢复备份等方式来解决或修复。不同的情况可能需要采取不同的策略,具体方法取决于问题的原因和具体环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值