mysql5.6 的–dump-slave參數的用法

  • 2019 年 10 月 5 日
  • 筆記

在5.5及以後版本的MySQL裡面,增加了個參數–dump-slave,使用該參數,我們可以在slave節點導出數據用於建立新的slave,避免對主庫的壓力。

方法如下:

在slave上執行;

1、查看當前同步的狀態

# show slave statusG  主要關注下面的部分:

Master_Log_File: mysql-bin.000095

Read_Master_Log_Pos: 50607116

Relay_Master_Log_File: mysql-bin.000095

Exec_Master_Log_Pos: 50607116

2、然後在slave上導出數據,如下:

# mysqldump -uroot -proot --single-transaction --dump-slave=2 -A > all.sql

3、查看導出的文件

# head -30 all.sql 可以看到類似如下的欄位:
-- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000095', MASTER_LOG_POS=50607116;

這樣的話,我們拿著這個導出數據,恢復到某一台新的slave上,執行:

> CHANGE MASTER TO  MASTER_HOST='master_ip',  MASTER_USER='repluser',  MASTER_PASSWORD='123456',  MASTER_PORT=3306,  MASTER_LOG_FILE='mysql-bin.000095',  MASTER_LOG_POS=50607116,  MASTER_CONNECT_RETRY=10;
> start slave; 即可在新的slave上啟動複製了。