ユーザ用ツール

サイト用ツール


mysql:replicate_error

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
mysql:replicate_error [2014/03/26 08:02] – 作成 clownclownmysql:replicate_error [2025/02/16 13:53] (現在) – 外部編集 127.0.0.1
行 9: 行 9:
 mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; (エラーをスキップ) mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; (エラーをスキップ)
 mysql> start slave; mysql> start slave;
-mysql> show slave status \G;+mysql> show slave status \G 
 +</code> 
 + 
 +==== Last_IO_Errno: 1236 ==== 
 + 
 +システムリブート時などの発生することが多いエラー。 
 +『スレーブがマスターの情報読み出しを行ったが、マスターに存在しない位置情報をもとに読み込もうとしている』という状況で、 
 +  * スレーブの設定ミス 
 +  * マスターがログ情報破棄、破損 
 +など。 
 +他の問題が発生していない前提で、スレーブの情報を再設定するのが簡単。 
 + 
 +マスター側で
 <code> <code>
 +mysql> SHOW MASTER STATUS;
 ++----------------+-----------+--------------+------------------+
 +| File            Position | Binlog_Do_DB | Binlog_Ignore_DB |
 ++----------------+-----------+--------------+------------------+
 +| bin-log.000069 | 228146254 |              |                  |
 ++----------------+-----------+--------------+------------------+
 +1 row in set (0.00 sec)
 +</code>
 +スレーブ側で
 +<code>
 +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;
 +</code>
 +
 +==== Last_IO_Errno: 1594 ====
 +
 +> Last_Errno: 1594
 +> Last_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.
 +
 +  * マスタサーバのバイナリログが破損した
 +  * スレーブサーバのリレーログが破損した
 +など。
 +マスタサーバのバイナリログが破損した場合は、仕方がないので、ダンプから再構築。
 +スレーブサーバのリレーログが破損した場合は、再設定で復旧可能。
 +
 +マスタログのファイル名、ポジションを確認。
 +<code>
 +mysql>show slave status\G
 +*************************** 1. row ***************************
 +               Slave_IO_State: 
 +                  Master_Host: 1.2.3.4
 +                  Master_User: replication
 +                  Master_Port: 3306
 +                Connect_Retry: 60
 +              Master_Log_File: mysql-bin.000230
 +          Read_Master_Log_Pos: 618693587
 +</code>
 +
 +レプリケーションを停止する。
 +<code>
 +mysql> stop slave;
 +</code>
 +
 +レプリケーションを再設定する。
 +<code>
 +mysql> reset slave all;
 +mysql> CHANGE MASTER TO 
 +MASTER_HOST='1.2.3.4',
 +MASTER_USER='replication',
 +MASTER_PASSWORD='password',
 +MASTER_LOG_FILE='mysql-bin.000230',
 +MASTER_LOG_POS=618693587;
 +</code>
 +
 +レプリケーションを再開する。
 +<code>
 +mysql> start slave;
 +</code>
mysql/replicate_error.1395820927.txt.gz · 最終更新: 2025/02/16 13:50 (外部編集)