MySQL 5.6 マスタースレーブエラー報告の実践記録

MySQL 5.6 マスタースレーブエラー報告の実践記録

1. 問題の症状

バージョン: MySQL 5.6、従来の binlog ファイルと pos 方式を使用して構成されたマスター/スレーブ レプリケーション構造を使用します。

インスタンスが再起動されると、マスター-スレーブ レプリケーション エラーが上図のように表示されます。

2. エラーの意味

エラーは2つの部分に分かれています。

パート1

  • クライアントは、ファイル サイズより大きい位置からレプリケーションを開始するようにマスターに要求しました。
  • 最初のイベント 'mysql-bin.000398' は 163800795 で、最後のイベントは './mysql-binlog.000398' から 4 で読み取られ、最後のバイトは './mysql-bin.000398' から 4 で読み取られました。

パート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 をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL5.6 マスタースレーブレプリケーション同期詳細設定(画像とテキスト)
  • MySQL5.6 データベースのマスタースレーブ同期のインストールと構成の詳細 (マスター/スレーブ)
  • MySQL5.6 レプリケーション マスタースレーブレプリケーション(読み書き分離)構成 完全版
  • MySQL5.6 マスタースレーブレプリケーション (mysql データ同期構成)
  • MySQL 5.6.14 マスタースレーブレプリケーション(MySQL ABレプリケーションとも呼ばれる)環境設定方法
  • MYSQL5.6.33 データベース マスター/スレーブ (マスター/スレーブ) 同期のインストールと構成の詳細 (マスター-Linux スレーブ-windows7)

<<:  jQuery キャンバスで画像検証コード例を描画する

>>:  CSS @font-face パフォーマンス最適化の詳細な理解

推薦する

Dockerコンテナの状態変換の実装

Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...

MYSQL開発パフォーマンス調査:バッチデータ挿入の最適化方法

1. どのような問題に直面しましたか?標準 SQL では、通常、次の SQL 挿入ステートメントを記...

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...

大量のデータを含むエレメントのシャトルボックスで「すべて選択」をクリックするとスタックする問題の解決方法

目次解決策1: EUIの転送コンポーネントをコピーして変更し、プロジェクトディレクトリに導入する解決...

ジョセフリング問題を解決する 3 つの JavaScript メソッド

目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...

モバイルでのHTML5経由のファイルアップロード

ほとんどの場合、PC でファイルをアップロードするにはプラグインが使用され、フラッシュが導入されても...

MySQL ビューの一貫性を確保する方法の詳細な説明 (チェック オプション付き)

この記事では、例を使用して、MySQL ビューの一貫性を確保する方法 (チェック オプションを使用)...

ウェブページデザインのための4つの実践的なヒント

関連記事: Web コンテンツ ページを作成するための 9 つの実用的なヒント<br />...

MySQL ルートパスワードを変更する複数の方法 (推奨)

方法1: SET PASSWORDコマンドを使用する MySQL -u ルート mysql> ...

非常に優れた CSS スキル 10 選のコレクションと共有

ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...

XHTML と CSS によるオブジェクト指向プログラミング

<br />XHTML と CSS がオブジェクト指向だったらよかったのに。 。太陽は北...

JavaScript 配列 sort() メソッドの基本的な使い方と落とし穴

序文日常のコード開発では、配列のソートに関連する操作が多数あります。JavaScript では、so...

XHTML 入門チュートリアル: リストタグの使用

リストは、類似または関連する一連の項目をリストするために使用されます。順序なしリスト(箇条書きリスト...

Dockerはポートを介してコンテナに接続します

Dockerコンテナ接続1. ネットワークポートマッピングPythonアプリケーション用のコンテナを...

VPSサーバーでよく使われるパフォーマンステストスクリプトの概要

これは、VPS サーバー用の一般的なワンクリック パフォーマンス テスト スクリプトです。マシンの構...