レプリケーションの致命的な Last_IO_Error エラー: The slave I/O thread stops
search cancel

レプリケーションの致命的な Last_IO_Error エラー: The slave I/O thread stops

book

Article ID: 275003

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

Gateway アプライアンスで使用される MySQL サーバーは、整数値 (サーバー ID ) を使用して、クラスター内のノードを相互に一意に識別します。これらの識別子がクラスター内のすべてのノード間で一意でない場合、次回 MySQL サーバーが再起動するときに MySQL レプリケーションは失敗します。レプリケーション障害が発生した場合、適切に対処しないとデータ損失が発生し、Gateway がが劣化した状態になる可能性があります。

Gateway クラスタ内のデータベースが一意の識別子で構成されていない場合、次のエラー メッセージが表示されます。 

両方のノードのレプリケーションのステータスをクエリします: mysql -e "show smile status\G"

Slave_IO_Running: No
Slave_SQL_Running: Yes

Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).

Environment

API Gateway 全バージョン

Resolution

MySQL サーバー構成ファイル (my.cnf) には、各 MySQL サーバーの一意の識別子を指定する構成ディレクティブが含まれています。以下は、MySQL レプリケーションが構成され有効になっているGateway アプライアンスからの抜粋です。

# Uncommment log-bin, log-slave-update and log_bin_trust_function_creators
# if a clustered db server
log-bin=/var/lib/mysql/ssgbin-log
log_bin_trust_function_creators=1
log-slave-update
# uncomment the next item on 1st db master server
server-id=1
# uncomment the next item on 2nd db master servers
#server-id=2

この問題を解決するには、クラスター内の各データベース ノードに「コメント解除された」server-id ディレクティブが一意の値であることを確認します。必要な変更を加えてから、MySQL サーバーを再起動します。MySQL サーバーが再起動したら、SHOW SLAVE STATUS クエリを使用してレプリケーションのステータスを確認します。レプリケーションで次のメッセージが報告された場合、レプリケーションは復元されます。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

Additional Information

レプリケーションが MySQL レプリケーションの他の実行状態を報告する場合は、レプリケーションを再初期化する方法に関する記事を確認してください:
https://knowledge.broadcom.com/external/article?articleId=44402

#

この文書は以下の英語文書を翻訳したものです。
Last_IO_Error: Fatal error: The slave I/O thread stops