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 スタイル

ブログ    

推薦する

DockerはホストのMysql操作に接続します

今日、会社のプロジェクトでは docker を設定する必要があります。Windows に正常にインス...

MySqlのインストールとアンインストールに関する詳細なチュートリアル

この記事では、MySqlのインストールとアンインストールのチュートリアルを参考までに紹介します。具体...

js クロージャとガベージ コレクション メカニズムの例の詳細な説明

目次序文文章1. 終了1.1 クロージャとは何ですか? 1.2 クロージャの特性1.3 クロージャを...

Nginx における accept lock の仕組みと実装の詳細な説明

序文nginx はマルチプロセス モデルを使用します。リクエストが届くと、システムはプロセスをロック...

Linux に MySQL をインストールする方法 (yum とソース コードのコンパイル)

Linux に MySQL をインストールするには、yum インストールとソース コード コンパイ...

美容・スタイリングウェブサイト向けのカラーマッチングテクニックと効果表示

色はあらゆるウェブサイトにとって最も重要な要素の 1 つであり、閲覧者に大きな影響を与えるため、色の...

H5 WeChatパブリックアカウント認証を実装するための簡単な手順

序文昨日、h5 WeChat認証の実装が必要なプロジェクトがありました。したがって、この機能を完了す...

Vueプラグインの詳しい説明

要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS....

MySQL テーブルを返すとインデックスが無効になるケースの説明

導入MySQL InnoDB エンジンがレコードをクエリし、インデックス カバレッジを使用できない場...

RPM パッケージを使用して MySQL 5.7.18 をインストールするチュートリアル

システム:セントOS7 RPM パッケージ: mysql-コミュニティクライアント-5.7.18-1...

CSS3 は 3D キューブの読み込み効果を作成します

簡単な説明これは CSS3 のクールな 3D キューブのプリロード効果です。この特殊効果は、シンプル...

MySQL ツリー構造データベース テーブル設計

目次序文1. 基本データ2. 継承駆動設計3. 左右の値のエンコーディングに基づく設計4. ツリー構...

SQL 実践演習: オンライン モール データベースの製品カテゴリ データ操作

オンラインショッピングモールデータベース - 商品カテゴリデータ操作(I)プロジェクトの説明電子商取...

Docker に MySQL と MariaDB をインストールする方法

MySQLとMariaDBの関係MariaDB データベース管理システムは MySQL のブランチで...

Javascript 構造化代入の詳細

目次1. 配列の分解2. オブジェクトの分解3. 不完全な解体4. 分割代入を使用して変数交換を実装...