1. 問題の症状バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使用して構成されたマスター/スレーブ レプリケーション構造を使用します。 インスタンスが再起動されると、マスター-スレーブ レプリケーション エラーが上図のように表示されます。 2. エラーの意味エラーは2つの部分に分かれています。 パート1
パート1 この部分はメインライブラリのDUMPスレッド関数から来ています mysql_binlog_send ->送信者.run() ->Binlog_sender::init ->Binlog_sender::check_start_file ((ファイル = open_binlog_file(&cache, m_linfo.log_file_name, &errmsg)) < 0)の場合 { 致命的なエラーを設定します。 1 を返します。 } サイズ = my_b_filelength(&cache); end_io_cache(&cache); mysql_file_close(ファイル、MYF(MY_WME)); (m_start_pos > サイズ)の場合 { set_fatal_error("クライアントがマスターにレプリケーションの開始を要求しました" "位置 > ファイルサイズ"); 1 を返します。 } キーとなるのは 2 つの値 m_start_pos と size です。m_start_pos はライブラリから読み取る必要がある位置から取得されます。そして、size はこの binlog ファイルのサイズなので、IO スレッドに必要な POS ポイントがこの binlog ファイルのサイズより大きい場合は当然間違っていることが容易に理解できます。 パート2 この部分もDUMPスレッドから来ています mysql_binlog_send ->送信者.run() ->Binlog_sender::init ->while (!has_error() && !m_thd->killed) #正常であれば、ここでループを開始し、binlog イベントを読み取ります。エラーがある場合は、次のロジックを続行します。#読み取りエラーがある場合は、エラーを報告します my_snprintf(error_text, sizeof(error_text), "%s; %lld の最初のイベント '%s'、" "%lld に '%s' から読み取られた最後のイベント" "%lld で '%s' から読み取られた最後のバイト。", m_errmsg、 m_start_file、m_start_pos、m_last_file、m_last_pos、 log_file、my_b_tell(&log_cache)); ここでは主に m_start_pos と m_last_pos に注目します。実際、m_start_pos はスレーブ ライブラリから読み取る必要のある位置情報であり、これは以前のエラー レポートと一致しています。また、m_last_pos はダンプ スレッドから取得され、最後に読み取られた位置です。明らかに、ここでは一度も読み取られていないため、位置は初期位置 4 です。 3. 考えられる原因分析の結果、最も可能性の高い理由は sync_binlog に関連していると思われます。 1 に設定しないと、OS キャッシュがディスクにフラッシュされない可能性があります。メイン ライブラリ サーバーがクラッシュして直接再起動すると、この問題が簡単に発生する可能性があります。 簡単に Google 検索してみたところ、これらのエラーのほとんどは、サーバーのクラッシュと sync_binlog が 1 に設定されていないことが原因であることがわかりました。 これも私たちの主張を証明しています。 最後に、問題のあるデータベースのメイン データベースが実際に double 1 に設定されていないことを確認しました。 この小さな事例を通じて、ダブル 1 を設定することの重要性をより深く認識しました。 要約するこれで、MySQL 5.6 マスター スレーブ エラー レポートに関するこの記事は終了です。MySQL 5.6 マスター スレーブ エラー レポートに関する関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: jQuery キャンバスで画像検証コード例を描画する
>>: CSS @font-face パフォーマンス最適化の詳細な理解
Linux に Scala 環境をインストールするのは非常に簡単です。Ubuntu 環境であれば、さ...
この記事では、参考までに簡単なHTMLと音楽プレーヤーの制作コードを紹介します。具体的な内容は以下の...
最近、Djangoを学習しているときにデータベースを使用する必要があったため、MySQLで使用するた...
序文MySQL を扱ったことがある人なら、テーブル メタデータ ロックの待機についてよく知っているは...
この記事は、透明度を変えてカルーセルにするXiaomiカルーセルを真似て書いたものです。初心者なので...
1. MySQL アーキテクチャストレージ エンジンを紹介する前に、まずは MySQL アーキテクチ...
目次1. Nginx の紹介2. 画像サーバーの構築1. Nginx の紹介Nginx はリバース ...
序文Javaプログラミングでは、ほとんどのアプリケーションはMavenに基づいて構築されており、配信...
目次1. 事例紹介2. システムのデフォルトのストレージエンジンとデフォルトの文字セットを表示する3...
システムでさまざまな IO ボトルネック、メモリ使用量の増加、CPU 使用率の増加などの問題が発生し...
ヒント: 以下の操作はすべて root 権限で実行されます。 # MySQL がインストールされてい...
方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...
目次ライフサイクル関数一般的なライフサイクルフックVue のインスタンス破棄について:要約するライフ...
目次序文計算されたプロパティ計算プロパティの紹介入門ケース統計価格事例ゲッターメソッドとセッターメソ...
目次インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックスプッ...