2011-12-10 54 views
2

我有一臺備份服務器,用於複製我的生產服務器的mysql數據庫,前一段時間我使用相同的PHP腳本設置登臺服務器,唯一的區別是我給它一個只讀mysql用戶,所以它不能更改數據庫,只能從中讀取。我不知道,如果它有什麼關係這一點,但今天我看到了備份停止工作,它有以下錯誤:我的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: 

,你可以看到從已經得到了超前的主,併成爲一個不存在的位置,任何人都可以幫忙嗎?我可能會重啓這個過程,但我想確保它不會再發生。

回答

3

位置是在文件內的位置所以slave是後面的,文件是mysql-bin.000193,master已經在mysql-bin.000208上。

這種設置的不可能性可能是主設備已清除文件mysql-bin.000193,並且由於從設備未運行IO,該文件尚未傳輸。

+1

重新啓動複製過程?你是正確的文件mysql-bin.000210是主人保存的最後一個日誌! – Neo

+2

「正確」的做法是從主站執行新的轉儲,並將其加載到從站上並啓動它。如果您擁有足夠小的數據集,並且可以在短暫的停機時間內輕鬆完成任務。 –