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上启动复制了。