バージョン5.1.63を実行しているmysqlサーバーがいくつかあり、今週初めにスレーブに対していくつかのクエリを実行しているときに、マスターでupdateステートメントを使用して削除する必要があるスレーブ上のデータに気づきました。
私の最初の考えは次のとおりです。
- チームの誰かがスレーブを更新していましたが、それ以来私は反証しました
- 更新される列が変更されたこと
そこで、mysql showstatus"table"クエリを実行して調査しました。これは、各サーバーのテストデータベースに対して実行され、データの長さが何であるかを確認しました。多くの場合、サーバー間でデータの長さが異なることがわかりましたが、データを見ると、データが同じため、エラーが発生しやすいように見えるため、この方法を使用して違いがあるかどうかを確認することはできませんでした。
次に、各テーブルに対して単純な(すべてのデータベースで)行数を実行して、行数が同じであることを確認しました。
次に、binログでレプリケーションを調べ始めました。実行されるべきであった更新ステートメントがログにはっきりと表示されているのを確認できましたが、更新は実行されませんでした。
私が知る必要があるのは:
- 複製は壊れていますか?私はそれが
- 新しいスレーブサーバーを作成した場合、同じ問題が発生しますか?
- サーバーの問題の範囲を確認するにはどうすればよいですか?
どんな助けでも大歓迎です。