LoginSignup
0
0

[MySQL]レプリケーション回復メモ

Last updated at Posted at 2023-12-09

レプリケーションがエラーを起こした

ブレーカーが落ちてサーバ機器が止まり、復旧した際にMySQLのレプリケーションがエラーで止まっていたので回復させた際のメモ。

回復手順

スレーブ側のレプリケーションを止める

slave
# mysql -u root -p
Enter password:
mysql> stop slave;

マスタ側のMySQLを止める
(キャッシュの吐き出しと更新を止めるため)

master
# systemctl stop mysql

データベースをコピー
(データベースのファイルPATHやスレーブのホスト名は適宜指定する事)

master
# scp -p -r /var/lib/mysql/DATABASE SLAVE:/var/lib/mysql/

マスタ側のMySQLを起動

master
# systemctl start mysql

現在のログファイルとポジションを確認

master
# mysql -u root -p
Enter password:
mysql> show master status\G
*************************** 1. row ***************************
            File: mysql-bin.002311
        Position: 138673
    Binlog_Do_DB: DATABASE
Binlog_Ignore_DB:
1 row in set (0.01 sec)

スレーブ側の設定
上のFileとPositionの値を
master_log_fileとmaster_log_posに設定する

slave
# mysql -u root -p
Enter password:
mysql> change master to master_log_file='mysql-bin.002311',master_log_pos=138673;

スレーブ側のレプリケーションを再開

slave
mysql> start slave;
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0