1. 従来のbinlogマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql> スレーブを停止します。 mysql> グローバル sql_slave_skip_counter を 1 に設定します。 mysql> スレーブを起動します。 mysql> スレーブステータスを表示 \G 2. GTIDマスタースレーブレプリケーション、エラー報告をスキップする方法 mysql> stop slave; #まずスレーブのレプリケーションをオフにします。 mysql> change master to ...省略... #マスタースレーブレプリケーションを構成します。 mysql> show slave status\G #マスタースレーブステータスを表示します。 エラーが見つかりました: mysql>スレーブステータスを表示\G ************************** 1. 行 **************************** Slave_IO_State: マスターがイベントを送信するのを待機中 マスターホスト: 172.19.195.212 Master_User: マスタースレーブ マスターポート: 3306 接続再試行: 60 マスターログファイル:mysql-bin.000021 読み取りマスターログ位置: 194 リレーログファイル: nginx-003-relay-bin.000048 リレーログ位置: 454 リレーマスターログファイル: mysql-bin.000016 スレーブIO実行中: はい スレーブSQL実行中: いいえ レプリケート_Do_DB: レプリケート_無視_DB: テーブルの複製: 無視テーブルを複製: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: 最終エラー番号: 1007 Last_Error: クエリでエラー「データベース 'code' を作成できません。データベースが存在します」が発生しました。デフォルトのデータベース: 'code'。クエリ: 'データベース コードを作成' スキップカウンタ: 0 実行マスターログポジション: 8769118 リレーログスペース: 3500 Until_Condition: なし ログファイルまで: ログ位置まで: 0 マスターSSL許可: いいえ マスターSSLCAファイル: マスターSSLCAパス: マスターSSL証明書: マスターSSL暗号: マスターSSLキー: マスターより遅れている秒数: NULL Master_SSL_Verify_Server_Cert: いいえ 最終IOエラー番号: 0 最後のIOエラー: 最終SQLエラー番号: 1007 Last_SQL_Error: クエリでエラー「データベース 'code' を作成できません。データベースが存在します」が発生しました。既定のデータベース: 'code'。クエリ: 'create database code' Replicate_Ignore_Server_Ids: マスターサーバーID: 100 マスター_UUID: fea89052-11ef-11eb-b241-00163e00a190 マスター情報ファイル: /usr/local/mysql/data/master.info SQL_遅延: 0 SQL_残り遅延: NULL スレーブSQL実行状態: マスター再試行回数: 86400 マスターバインド: 最終IOエラータイムスタンプ: 最終 SQL エラー タイムスタンプ: 201022 09:31:29 マスターSSL証明書: マスターSSLCrlパス: 取得済み_Gtid_Set: fea89052-11ef-11eb-b241-00163e00a190:8-5617 実行されたGtidセット: a56c9b04-11f1-11eb-a855-00163e128853:1-11224、 fea89052-11ef-11eb-b241-00163e00a190:1-5614 自動位置: 1 Replicate_Rewrite_DB: チャンネル名: マスター TLS バージョン: セット内の1行(0.01秒) Slave_SQL_Running が NO であることがわかります。これは、取得されるバイナリ ログに問題があることを意味します。 解決: 1. 以前の操作が明確な場合は、競合の原因となったライブラリを削除できます。 --- 特定のエラー トランザクションを照会するには、Last_SQL_Errno エラー番号を使用します。mysql> select * from performance_schema.replication_applier_status_by_worker where LAST_ERROR_NUMBER=1007\G ************************** 1. 行 **************************** チャンネル名: ワーカーID: 0 スレッドID: NULL サービス状態: オフ 最後に確認された取引: fea89052-11ef-11eb-b241-00163e00a190:5615 最終エラー番号: 1007 LAST_ERROR_MESSAGE: クエリでエラー「データベース 'code' を作成できません。データベースが存在します」が発生しました。デフォルトのデータベース: 'code'。クエリ: 'データベース コードの作成' 最終エラータイムスタンプ: 2020-10-22 09:31:29 セット内の 1 行 (0.00 秒) mysql> スレーブを停止します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) --- エラーが見つかったトランザクションをスキップします(LAST_SEEN_TRANSACTIONの値) mysql> @@session.gtid_next='fea89052-11ef-11eb-b241-00163e00a190:5615' を設定します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> 開始します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) --- gtid_next を設定すると gtid のライフサイクルが開始され、明示的にトランザクションを送信して終了する必要があるため、空のトランザクションを送信します。 mysql> コミット; クエリは正常、影響を受けた行は 0 行 (0.00 秒) --- 自動モードに戻します。 mysql> @@session.gtid_next=自動を設定します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) mysql> スレーブを起動します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) 上記の手順により、GTID エラーのあるトランザクションはスキップされます。スレーブを起動した後もエラーが続く場合は、この手順に従ってスキップを続けます。
上記は、MySQL マスタースレーブレプリケーションでエラーをスキップする方法の詳細です。MySQL のエラースキップの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: シンプルなドラッグ効果を実現するJavaScript
>>: Nginx設定の原理と実装プロセスの詳細な説明https
序文低速システム コールとは、決して戻らない可能性があり、プロセスを永久にブロックするシステム コー...
ここでは、あまり使われていない、または誤解されている 10 個の HTML タグを紹介します。あまり...
MySQL 5.7 を使用すると、Web ターミナル経由でデータベースに中国語の文字を書き込むと文字...
JSONObject は単なるデータ構造であり、JSON 形式のデータ構造 ( key-value構...
コンテナをソートするためにdepends_onを使用しても、コンテナ間の依存関係の問題は完全には解決...
目次適用シナリオ:方法 1: 正規表現 (推奨)方法2: 配列のreduceメソッドを使用する方法3...
標準の ab は単一の URI でのストレス テストのみをサポートしており、実際のニーズを満たしてい...
この記事では、MySQL 学習ノートの select ステートメントの完全な使用方法を例を使用して説...
この記事では、MySQL 8.0.15 winx64のインストールと設定方法を参考までに紹介します。...
目次1. はじめに2. ポイントフィーチャーレイヤーの集約3. 重合の特殊処理4. 重合の特殊処理 ...
プロジェクトでは、さまざまな条件や使用シナリオを制御するために、docker-compose.yml...
ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...
この記事では、 Dockerコンテナ ( docker-composeを使用してオーケストレーション...
多くの場合、 Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼ら...
PHPのメール関数を使用してメールを送信するmail()関数はメールサーバーに接続し、サーバーと対話...