karahiyoの日記この広告は、90日以上更新していないブログに表示しています。MySQLRDSのMultiAZでは、データベースの障害時の影響を最小化するために同期レプリケーションを行っています。リードレプリカであるスレーブとのレプリケーションは非同期で行っています。α"分のレプリケーション遅延が発生します。スレーブに反映させるのにかかる時間によっては、遅延は常に発生していますし、大きな遅延にもなりえます。その遅延が発生しうる仕組み上、マスターとスレーブ間でどの時点までの更新が反映されているかは異なりうるため、その更新のズレがあるときに特定の操作が行われた場合発生しうるレプリケーションエラーがいくつかあります。今回話すことRDSのレプリケーション。レプリケーションエラースレーブでバイナリログの反映処理に失敗した場合に発生し、これによってSQLスレッドが停止し、そのスレーブとマスタ間のレプリケーションが停止します。発生しうるケースは、スレーブ側を直接更新した場合、STATEMENTベースのレプリケーションで非決定性の更新クエリを実行した場合、長いトランザクション、バイナリログの不整合(例えば、Multi-AZ設定のマスタのフェイルオーバを原因とした)など。STATUS"の出力一部。レンタルサーバー・自宅サーバー設定・構築のヒント応急処置エラーの内容を確認し、レプリケーションエラーをスキップします。mysqlでいう、SQL_SLAVE_SKIP_COUNTERにあたります。複数のレプリケーションエラーがある場合、最初のエラー(Last_Error)のみスキップします。MySQLレプリケーションを安全に利用するための10のテクニックちなみに、RDSのmasterのbinlog_formatはMixedから変更できません。は行ベースのレプリケーションへの明示的な変更をサポートしていません。レプリケーションIOエラースレーブがマスタに存在しないバイナリログの位置を指定しています、というエラーです。IOスレッドが停止し、結果そのスレーブとマスタ間のレプリケーションが停止します。発生しうるケースは、スレーブ側でバイナリログの位置の指定を間違えた場合、マスタ側でバイナリログ情報を破棄してしまった場合、その他バイナリログの不整合(たとえばMulti-AZ設定のマスタのフェイルオーバを原因とした)などが発生した場合に発生する可能性があります。STATUS"の出力一部。4.'応急処置レプリケーションマスタのログ位置を、マスタ上にある次のバイナリログの開始位置に変更します。これには、"mysql.rds_next_master_log"手続きが使えます。Serviceその他のレプリケーションエラーの場合たとえば、リードレプリカを新しく作り直す。replayを自動化するためのツールです。»プロフィールid:karahiyo渋谷ではたらくエンジニア見習い。karahiyoはてなブログをはじめよう!karahiyoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。