2011-12-10 7 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

位置はファイルの中のです。したがって、スレーブはファイルmysql-bin.000193に遅れており、マスターは既にmysql-bin.000208にあります。

この設定では、マスターがファイルmysql-bin.000193をパージしていない可能性があり、スレーブがファイルを転送していないIOを実行していない可能性があります。

+1

レプリケーションプロセスを再起動しますか?あなたは正しいファイルですmysql-bin.000210はマスターが保持している最後のログです! – Neo

+2

「正しい」ことは、マスターから新しいダンプを実行し、それをスレーブにロードして開始することです。十分なデータセットがあり、簡単な作業である小さなダウンタイムで暮らすことができます。 –

関連する問題