主从复制报错
mysql主从复制,从库的slave状态不正常,主从复制断开,报错如下:
原因:
这个错误是因为主库有个定时执行的事件,但是从库没有,所以从库在执行同步过来的sql语句时会报错。
临时解决
stop slave;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
start slave;
永久解决:
#忽略主从复制遇到的错误
slave-skip-errors=1539
重启mysql服务即可。
Got fatal error 1236 from master when reading data from binary log: ‘Could not find first log file name in binary log index file’
MySQL-02 [(root)]>show slave status\G;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 172.18.0.243
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.004351
Read_Master_Log_Pos: 159694079
Relay_Log_File: mysql-relay-bin.004600
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.004351
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: 159694079
Relay_Log_Space: 714749075235
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: 'Could not find first log file name in binary log index file'
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)
ERROR: No query specified
解决
MySQL-02 [(root)]>stop slave;
Query OK, 0 rows affected (0.08 sec)
MySQL-02 [(root)]>reset slave;
Query OK, 0 rows affected (23.04 sec)
MySQL-02 [(root)]>start slave;
Query OK, 0 rows affected (0.15 sec)
reset slave后,relay-binglog文件会重新生成。