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;

これで再度レプリケーションが稼働し始めたが、そもそも、なんで止まったのか。。。

ちょっと気持ち悪い。