首页 > 代码库 > mysql主从复制问题之主从两端binlog日志不同步解决方案
mysql主从复制问题之主从两端binlog日志不同步解决方案
主操作:
- 进入主的数据库查看状态:
mysql> show master statusG;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 604
Binlog_Do_DB:
Binlog_Ignore_DB:
1 row in set (0.01 sec)
从操作:
- 进入从的数据库查看状态:
mysql> show slave statusG;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.1.187
Master_User: slave001
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 800
Relay_Log_File: mysqld-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 800
Relay_Log_Space: 106
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 1236
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ‘Client requested master to start replication from impossible position‘
Last_SQL_Errno: 0
Last_SQL_Error:
1 row in set (0.00 sec)
会发现从状态与主状态不一样(主要观察Master_Log_File和Read_Master_Log_Pos),就是binlog日志不同步
- 现在需要使主从的数据先同步,然后再使binlog日志同步方能解决问题
(1).把主数据库停止更新,查看binlog(file和positon),打包放到从服务器上恢复
(2).停止从的slave,修改binlog(依据查看主的file和position),然后启动slave,最后把主的锁解除
具体操作已在《mysql主从同步配置》中做详细说明,可前往查看
mysql主从复制问题之主从两端binlog日志不同步解决方案