一. 背景介紹
線上數(shù)據(jù)庫從庫掛掉,所以重新安裝并重新同步
二. 主庫備份
- 登錄主庫
登錄主庫,輸入以下命令并輸入密碼
$ mysql -u root -p
- 鎖表
鎖表后數(shù)據(jù)庫不能寫入數(shù)據(jù),操作需謹(jǐn)慎。
$ FLUSH TABLES WITH READ LOCK;
- 備份全部數(shù)據(jù)庫
退出登錄并導(dǎo)出全部的數(shù)據(jù)庫,同時壓縮一下便于傳輸。
$ mysqldump -u root -p --all-databases > bak.sql | gzip > bak.sql.gz
- 查看主庫Binlog文件和位置
登錄主庫并查看信息
$ mysql -u root -p
$ show master status;
顯示信息如下
+---------------+----------+--------------+------------------+-------------------+
| File | | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000024 | 11632560 | | | |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)
- 主庫解鎖
$ UNLOCK TABLES;
三. 從庫恢復(fù)
- 傳輸備份文件并解壓
gunzip bak.sql.gz
- 恢復(fù)數(shù)據(jù)
重新安裝從庫,并恢復(fù)數(shù)據(jù)
$ mysql -u root -p < bak.sql
- 登錄從庫并開啟從庫同步
主庫IP是 198.168.0.2, 同步用戶是zqyu_rpl, 密碼是123456, MASTER_LOG_FILE 和 MASTER_LOG_POS 是主庫中使用 show master status;查看到的信息。
$ CHANGE MASTER TO MASTER_HOST='198.168.0.2', MASTER_USER='zqyu_rpl', MASTER_PASSWORD='123456',MASTER_LOG_FILE='binlog.000024', MASTER_LOG_POS=11632560;
- 開啟從庫同步
start slave;
使用下面命令查看從庫同步狀態(tài)
show slave status\G;
確認(rèn)屬性如下即可
Slave_IO_Running: Yes # 或者 Connecting
Slave_SQL_Running: Yes
- 其它命令
重置從庫同步的命令
$ stop slave; # 停止從庫同步
$ reset slave; # 重置
$ start slave; # 開啟