MySQL MHA のセットアップと切り替えに関するいくつかのエラー ログの概要

MySQL MHA のセットアップと切り替えに関するいくつかのエラー ログの概要

1: masterha_check_repl レプリカ セット エラー レプリケートが構成ファイルで定義されていません。

具体的な情報は以下の通りです。

# /usr/local/bin/masterha_check_repl --conf=/etc/mha/app1.cnf
2018 年 11 月 21 日 (木) 15:33:15 - [警告] グローバル設定ファイル /etc/masterha_default.cnf が見つかりません。スキップします。
2018 年 11 月 21 日 (木) 15:33:15 - [info] /etc/mha/app1.cnf からアプリケーションのデフォルト設定を読み取っています。
2018 年 11 月 21 日 (木) 15:33:15 - [情報] /etc/mha/app1.cnf からサーバー構成を読み取っています。
2018 年 11 月 21 日木曜日 15:33:15 - [情報] MHA::MasterMonitor バージョン 0.56。
2018 年 11 月 21 日 (木) 15:33:16 - [エラー][/usr/local/share/perl5/MHA/ServerManager.pm、ln671] スレーブ 179.179.19.180(179.179.19.180:3306) の複製元となるマスター 179.179.19.179:3306 が構成ファイルで定義されていません。
2018 年 11 月 21 日木曜日 15:33:16 - [エラー][/usr/local/share/perl5/MHA/MasterMonitor.pm、ln424] 構成の確認中にエラーが発生しました。/usr/local/share/perl5/MHA/MasterMonitor.pm の 326 行目。
2018 年 11 月 21 日 (木) 15:33:16 - [エラー][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln523] 監視サーバーでエラーが発生しました。
2018 年 11 月 21 日木曜日 15:33:16 - [情報] 終了コード 1 を取得しました (マスターは死んでいません)。

MySQL レプリケーションの健全性は正常ではありません。

分析: MHA ドリフト後、構成情報内のマスター ノードの情報がなくなったことがわかります。これを時間内に維持する必要があります。そうしないと、レプリカ セットの状態を確認するときに /usr/local/bin/masterha_check_repl --conf=/etc/mha/XXX.cnf がエラーを報告します。

2. masterha_master_switch オンライン切り替えエラー接続の1つが現在のマスターで長時間更新を実行している場合は、オンラインマスター切り替えを開始しないでください。

具体的な情報は以下の通りです。

# /usr/local/bin/masterha_master_switch --master_state=alive --conf=/etc/mha/app1.cnf

切り替える前にマスターで FLUSH NO_WRITE_TO_BINLOG TABLES を実行することをお勧めします。179.179.19.184(179.179.19.184:3306) で実行しても問題ありませんか? (はい/いいえ): y

2018 年 11 月 19 日火曜日 17:19:09 - [情報] FLUSH NO_WRITE_TO_BINLOG TABLES を実行しています。これには長い時間がかかる可能性があります。
2018年11月19日火曜日 17:19:09 - [情報] わかりました。
2018 年 11 月 19 日火曜日 17:19:09 - [情報] MHA が監視またはフェイルオーバーを実行していないことを確認しています。
2018 年 11 月 19 日火曜日 17:19:09 - [情報] 179.179.19.185 のレプリケーションの健全性を確認しています。
2018年11月19日火曜日 17:19:09 - [情報] わかりました。
2018 年 11 月 19 日火曜日 17:19:09 - [エラー][/usr/local/share/perl5/MHA/MasterRotate.pm、ln161] 現在のマスター (179.179.19.184(179.179.19.184:3306)) で接続の 1 つが長時間更新を実行している場合、オンライン マスター スイッチを開始しないでください。現在、1 つの更新スレッドが実行中です。
詳細:
{'Time' => '12815'、'db' => undef、'Id' => '1'、'User' => 'event_scheduler'、'State' => '空のキューを待機中'、'Command' => 'Daemon'、'Info' => undef、'Host' => 'localhost'}
2018 年 11 月 19 日火曜日 17:19:09 - [エラー][/usr/local/share/perl5/MHA/ManagerUtil.pm、ln177] /usr/local/bin/masterha_master_switch の 53 行目でエラーが発生しました。

分析: グローバル event_scheduler=off を設定します。マスターとスレーブの両方を閉じる必要があります。

3. masterha_master_switch オンライン スイッチ エラー エラーが発生しました: DBI .....失敗: ユーザーのアクセスが拒否されました

# /usr/local/bin/masterha_master_switch --master_state=alive --conf=/etc/mha/app1.cnf

179.179.19.185(179.179.19:3306) から 179.179.19.184(179.179.19.184:3306) へのマスタースイッチを起動しますか? (はい/いいえ): はい

2018 年 11 月 19 日火曜日 18:52:04 - [情報] 179.179.19.184 (179.179.19.184:3306) が新しいマスターとして適切かどうかを確認しています。
2018年11月19日火曜日 18:52:04 - [情報] わかりました。
2018 年 11 月 19 日火曜日 18:52:04 - [情報] ** フェーズ 1: 構成チェック フェーズが完了しました。
2018年11月19日火曜日 18:52:04 - [情報] 
2018 年 11 月 19 日火曜日 18:52:04 - [情報] * フェーズ 2: 更新の拒否フェーズ..
2018年11月19日火曜日 18:52:04 - [情報] 
2018 年 11 月 19 日火曜日 18:52:04 - [情報] 現在のマスターへの書き込みを無効にするために、マスター IP オンライン変更スクリプトを実行しています:
2018年11月19日火曜日 -  [info]/usr/local/bin/master_ip_online_change_appuanalysis = stop = 179.179.19.185-Orig_master_ip = 179.179.19.185 '-orig_master_password =' weixinlx391p_xldbmha \)qlk ' -  new_master_host = 179.179.19.184  -  new_master_ip = 179.179.184  -  new_master_port = 55988 -new -master_user =' us_mha '-new_mha 1p_xldbmha \)qlk '-orig_master_ssh_user = root  -  new_master_ssh_user = root 
エラーが発生しました: DBI connect(';host=179.179.19.184;port=3306;mysql_connect_timeout=4','weixinLX391P_xldbmha',...) が失敗しました: /usr/local/share/perl5/MHA/DBHelper.pm の 205 行目で、ユーザー 'weixinLX391P_xldbmha'@'179.179.19.166' (使用パスワード: YES) のアクセスが拒否されました。
 /usr/local/bin/master_ip_online_change_app1 の 119 行目。

2018 年 11 月 19 日火曜日 18:52:04 - [エラー][/usr/local/share/perl5/MHA/ManagerUtil.pm、ln177] /usr/local/bin/masterha_master_switch の 53 行目でエラーが発生しました。

分析: アカウントとパスワードの一部の文字を転送する必要があります。 app1.cnf ファイル内のユーザー アカウントに対応するパスワードには、この例の ')' などのエスケープ文字を含めることはできませんが、repl_user アカウント repl_password に対応するパスワードにはこの制限はありません。

4. xtrabackup を使用している場合、スレーブ ノードがイベントを復元するため、データの不整合や同期の失敗が発生する可能性があることに注意してください。

マスターノードにイベントがある場合は、スレーブノードのイベントを手動で閉じる必要があります。たとえば、マスター ノードにデータをアーカイブして削除するイベントがある場合、スレーブ ノードをシャットダウンする必要があります。そうしないと、エラーが報告されます。次のようなエラー:

テーブル ????DB.*****table で Delete_rows イベントを実行できませんでした。'*****' にレコードが見つかりません。Error_code: 1032。ハンドラー エラー HA_ERR_KEY_NOT_FOUND。イベントのマスター ログは FIRST、end_log_pos XXXXXXX

5. GTID モードを従来のモードに変換した後、MHA メカニズムによるデータベース マスター/スレーブ チェックでエラーが報告されます。

コマンドを確認してください:

/usr/local/bin/masterha_check_repl --conf=/etc/mha/qqweixinordb.cnf

主なエラーメッセージ

"mysqlbinlog" を実行できません: /usr/local/share/perl5/MHA/BinlogManager.pm の 106 行目にそのようなファイルまたはディレクトリはありません。
mysqlbinlog バージョン コマンドが rc 1:0 で失敗しました。PATH、LD_LIBRARY_PATH、およびクライアント オプションを確認してください。
 /usr/local/bin/apply_diff_relay_logs の 493 行目。
2019 年 8 月 28 日金曜日 04:38:22 - [エラー][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln205] スレーブ設定のチェックに失敗しました。
2019 年 8 月 28 日金曜日 04:38:22 - [エラー][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln413] スレーブ構成に失敗しました。
2019 年 8 月 28 日金曜日 04:38:22 - [エラー][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln424] 構成の確認中にエラーが発生しました。/usr/local/bin/masterha_check_repl の 48 行目。
2019 年 8 月 28 日金曜日 04:38:22 - [エラー][/usr/local/share/perl5/MHA/MasterMonitor.pm, ln523] 監視サーバーでエラーが発生しました。
2019 年 8 月 28 日金曜日 04:38:22 - [情報] 終了コード 1 を取得しました (マスターは死んでいません)。

 MySQL レプリケーションの健全性は正常ではありません。

解決策 - 各DBノードで次のコマンドを実行します

ローカルディレクトリにmysqlbin.logファイルを作成します。

 ローカルマシンでmysqlを実行するには、次のコマンドを実行します。

もう一度確認すると、エラー メッセージが消えます。OK。

6. ルートアカウントのパスワードの有効期限が切れている

ルート アカウントを使用して ssh 経由でパスワードなしでログインし、ssh に有効期限がある場合、mha ssh チェックはエラーを報告します。

/usr/local/bin/masterha_check_ssh --conf=/etc/mha/qqorder.cnf
2018 年 11 月 5 日 (木) 10:09:09 - [警告] グローバル設定ファイル /etc/masterha_default.cnf が見つかりません。スキップします。
2018 年 11 月 5 日 (木) 10:09:09 - [info] /etc/mha/pms20epime.cnf からアプリケーションのデフォルト設定を読み取っています。
2018 年 11 月 5 日 (木) 10:09:09 - [情報] /etc/mha/pms20epime.cnf からサーバー構成を読み取っています。
2018 年 11 月 5 日 (木) 10:09:09 - [情報] SSH 接続テストを開始しています。
2018 年 11 月 5 日木曜日 10:09:09 - [エラー][/usr/local/share/perl5/MHA/SSHCheck.pm, ln63]
2018 年 11 月 5 日 (木) 10:09:09 - [デバッグ] [email protected](172.181.191.191:22) から [email protected](172.181.191.192:22) に SSH 経由で接続しています。

警告: パスワードの有効期限が切れています。
パスワードの変更が必要ですが、TTY が利用できません。
2018 年 11 月 5 日 (木) 10:09:09 - [エラー][/usr/local/share/perl5/MHA/SSHCheck.pm, ln111] [email protected](172.181.191.191:22) から [email protected](172.181.191.192:22) への SSH 接続に失敗しました。
2018 年 11 月 5 日木曜日 10:09:10 - [エラー][/usr/local/share/perl5/MHA/SSHCheck.pm, ln63]
2018 年 11 月 5 日 (木) 10:09:09 - [デバッグ] [email protected](172.181.191.192:22) から [email protected](172.181.191.191:22) に SSH 経由で接続しています。

警告: パスワードの有効期限が切れています。
パスワードの変更が必要ですが、TTY が利用できません。
2018 年 11 月 5 日 (木) 10:09:10 - [エラー][/usr/local/share/perl5/MHA/SSHCheck.pm, ln111] [email protected](172.181.191.192:22) から [email protected](172.181.191.191:22) への SSH 接続に失敗しました。
SSH 構成チェックに失敗しました。
 /usr/local/bin/masterha_check_ssh の 44 行目。

もう1つの兆候は、アカウントの切り替えを2回目に実行したときにエラーメッセージが表示されることです: sudo su -

解決策: ルート アカウントで、次のコマンドを実行します。

変更 -M 99999 ルート

上記は、MySQL MHA の構築と切り替えに関するいくつかのエラー ログの詳細な内容です。MySQL MHA の構築と切り替えの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Python を使用して MySQL MHA の展開と操作ステータス情報を収集する方法
  • MySQL の高可用性アーキテクチャの完全な説明: MHA アーキテクチャ
  • MySQL MHA の高可用性構成とフェイルオーバーの詳細な導入手順
  • MySQL で MHA アーキテクチャのデプロイメントを構築する手順
  • Mysql GTID Mha 設定方法
  • MySQL での MHA 高可用性フェイルオーバー ソリューションのスーパー デプロイメント チュートリアル
  • MHAはMySQLマスタースレーブデータベースの手動切り替えを実装します
  • MySQL MHA 操作ステータス監視の概要

<<:  DockerコンテナにPythonアプリケーションをデプロイするプロセスの分析

>>:  マークアップ言語 - Web アプリケーション CSS スタイル

推薦する

CentOS 8にJenkinsをインストールする方法

CentOS 8 に Jenkins をインストールするには、root アカウントまたは sudo ...

Vue はカスタム「モーダル ポップアップ ウィンドウ」コンポーネントのサンプル コードを実装します

目次序文レンダリングサンプルコード要約する序文ダイアログ ボックスは非常に一般的なコンポーネントであ...

モバイルプラットフォーム開発におけるメタタグの適用の詳細な説明

デスクトップ プラットフォームの Web レイアウトのメタ タグは誰もがよく知っています。これは常に...

フロントエンドの vue+express ファイルのアップロードとダウンロードの例

新しいserver.jsを作成する糸初期化 -y 糸を追加エクスプレスノードモン -D var ex...

TypeScript の条件型に関する詳細な読書と実践記録

目次ジェネリック型での条件型の使用ツールタイプ脱出ポッド矢印関数で条件型を使用する型推論による条件型...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Docker イメージの作成、アップロード、プル、およびデプロイ操作 (Alibaba Cloud を使用)

学習プロセス中にプッシュ イメージが常にタイムアウトすることがわかったため、Alibaba Clou...

Docker 経由で wsl の tar ファイルを作成する方法

最近VScodeのリモート開発機能をいじっています。Dockerのコンテナに接続できるほか、WSLに...

JavaScript でオブジェクトのプロパティを削除する方法

1. 削除delete は、オブジェクトのプロパティを残さずに削除する唯一の方法ですが、その「代替」...

Linux 上の MYSQL 5.7 でルート パスワードを取得する際の問題 (テスト済み、利用可能)

目次1. --skip-grant-tables 経由で取得する1.1 my.conf を変更し、新...

異なる列を持つテーブルのクエリ結果のSQLマージ操作

2 つの異なるテーブルをクエリするには、結果をマージする必要があります。たとえば、table1 の列...

IE における条件付きコメントの利点と欠点

IE の条件付きコメントは、通常の (X)HTML コメントに対する Microsoft 独自の (...

ウェブページの再設計の7つの主要要素 ウェブページの再設計の7つの主要要素を共有する

Shopify Plus は、私たちが設立した e コマース プラットフォームのエンタープライズ バ...

ファイルをアップロードするときに enctype フィールドを使用する理由は何ですか?

FORM 要素の enctype 属性は、フォーム データがサーバーに送信されるときに使用されるエン...

zabbix を使用して ogg プロセスを監視する (Linux プラットフォーム)

以前作成されたデータベースの ogg プロセスは、発見されるまでの約半月間ダウンしていました。起動で...