在線重做MySQL主從

MySQL主從在線重做從庫

現有主從架構,從庫損壞或者需要更換從庫,不管什麼原因現在就是要重做從庫了,現在推薦使用一個第三方工具—xtrabackup

(以下過程是經歷生產環境實施的,放心使用)

主庫 192.168.10.128
從庫 192.168.10.129

1. 主從庫上都安裝xtrabackup

https://download.csdn.net/download/mfanoffice2012/12505598下載離線安裝包,傳到兩臺MySQL服務器;

unzip innodbbackup.zip
cd innodbbackup/
#安裝所有依賴包
rpm -ivh needed/*  
#安裝xtrabackup,MySQL8使用xtrabackup-80版,MySQL8以前版本使用xtrabackup-24版本
rpm -ivh xtrabackup/percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm 
#查看安裝
xtrabackup -version

2. 備份主庫

**必須條件:**主庫和從庫my.cnf中的server-id要不相同,主啓動二進制日誌記錄。

用新安裝的xtrbackup備份mysql的data下的所有文件

 innobackupex --defaults-file=/mysql/mysql/my.cnf --user=root --password=123456 --port=3306 --socket=/tmp/mysql.sock /mysql/backup/

3. 將備份文件夾傳輸到從庫上

rsync -avprP -e ssh /mysql/backup/2020-06-08_17-16-02 192.168.10.129:/mysql/backup 

4. 從庫上恢復數據

事務日誌恢復(–apply-log)

innobackupex --defaults-file=/mysql/mysql/my.cnf --user=root --password=123456 --port=3306 --apply-log /mysql/backup/2020-06-08_17-16-02/

複製數據恢復(–copy-back)

在此恢復前先把從庫現有的data目錄移走

 innobackupex --defaults-file=/mysql/mysql/my.cnf --user=root --password=123456 --port=3306 --copy-back --rsync  /mysql/backup/2020-06-08_17-16-02/

5. 刪除datadir下的事務日誌log文件

cd /mysql/mysql/data
rm -rf ib_logfile*

6. 啓動從庫mysql

7. 配置主從同步

備份時的binlog-file
cat  /mysql/backup/2020-06-08_17-16-02/xtrabackup_binlog_info

mysql-bin.000008        6787793 

記住這兩條信息,接下來做同步時使用

change master to master_host='192.168.10.128',master_user='replication',master_password='replication',master_log_file='mysql-bin.000008',master_log_pos=6787793;

start slave;

show slave status\G

此處的master_user和master_password就是一開始做主從同步時使用的用戶和密碼。

到這在線重做從庫就完成了。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章