MySQL Error Code: 1872 でSlaveがStartしない
MySQL 5.7でレプリケーションをしているが、ふと見てみるとレプリケーションが停止している。
Start Slaveしてみると、MySQLがError Code: 1872で停止する。
Error Code: 1872. Slave failed to initialize relay log info structure from the repository
MySQL5.6->5.7にアップデートした時に止まってしまったのだろうか…
原因は不明だが、次の手順でMasterのDBとテーブルを再度インポートし、binlogの位置を合わせてSlaveを作りなおした(RESET SLAVE)。
- Master # DBをエクスポート
mysqldump -u root -p --opt --single-transaction db > db.sql
- Master MySQLコマンド
show master status\G
*************************** 1. row ***************************
File: mysql-bin.000002
Position: 10128158
Binlog_Do_DB: db,db2
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
- Slave DBをインポート
mysql -u root -p db < db.sql
- Slave MySQLコマンド
STOP SLAVE;
RESET SLAVE;
CHANGE MASTER TO
MASTER_HOST='192.168.1.10',
MASTER_USER='repuser',
MASTER_PASSWORD='*******',
MASTER_SSL=1,
MASTER_SSL_CA = '/etc/mysql-ssl/ca-cert.pem',
MASTER_SSL_CAPATH = '/etc/mysql-ssl',
MASTER_SSL_CERT = '/etc/mysql-ssl/client-cert.pem',
MASTER_SSL_KEY = '/etc/mysql-ssl/client-key.pem',
MASTER_LOG_FILE = 'mysql-bin.000002',
MASTER_LOG_POS = 10128158
;
START SLAVE;
これで再度レプリケーションが稼働し始めたが、そもそも、なんで止まったのか。。。
ちょっと気持ち悪い。