ユーザ用ツール

サイト用ツール


mysql:replicate_error

文書の過去の版を表示しています。


レプリケーションのエラー対応

Query caused different errors on master and slave.

エラー内容を見て、エラーになったSQLがスキップして問題なければスキップする

mysql> stop slave;
mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; (エラーをスキップ)
mysql> start slave;
mysql> show slave status \G

Last_IO_Errno: 1236

システムリブート時などの発生することが多いエラー。 『スレーブがマスターの情報読み出しを行ったが、マスターに存在しない位置情報をもとに読み込もうとしている』という状況で、

  • スレーブの設定ミス
  • マスターがログ情報破棄、破損

など。 他の問題が発生していない前提で、スレーブの情報を再設定するのが簡単。

マスター側で

mysql> SHOW MASTER STATUS;
+----------------+-----------+--------------+------------------+
| File           |  Position | Binlog_Do_DB | Binlog_Ignore_DB |
+----------------+-----------+--------------+------------------+
| bin-log.000069 | 228146254 |              |                  |
+----------------+-----------+--------------+------------------+
1 row in set (0.00 sec)

スレーブ側で

mysql> CHANGE MASTER TO 
MASTER_HOST='192.168.10.21',
MASTER_USER='root',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000069',
MASTER_LOG_POS=228146254;
mysql/replicate_error.1414738746.txt.gz · 最終更新: 2025/02/16 13:50 (外部編集)