我有一个备份服务器,它复制了我的生产服务器的mysql数据库,不久前我用相同的php脚本设置了一个staging服务器,唯一的区别是我给了它一个只读mysql用户,所以它不能对数据库进行更改,只能从它读取。我不确定它是否与此有关,但今天我看到备份已经停止工作,它有以下错误:
Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'
下面是脉泽的输出:
File: mysql-bin.000208
Position: 24383202
Binlog_Do_DB: sexxymofo
Binlog_Ignore_DB:
和从属:
Slave_IO_State:
Master_Host: 184.168.76.5
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000193
Read_Master_Log_Pos: 54442531
Relay_Log_File: mysqld-relay-bin.000155
Relay_Log_Pos: 54442676
Relay_Master_Log_File: mysql-bin.000193
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB: sexxymofo
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: 54442531
Relay_Log_Space: 54442875
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:
正如你所看到的,奴隶已经领先于主人,进入一个不存在的位置,有人能帮助吗?我可能会重新启动这个过程,但我想确保它不会再发生。
Position是在文件中的位置,所以slave在文件mysql-bin上是远远落后的。
如果mysql-bin. 000193,主机已经在mysql-bin.000208上。这个设置的不可能是主服务器已经清除了mysql-bin文件。