1.需求
当前mysql5.7过滤复制(从库过滤a,b库)中需要再添加一个c库,记录下
2.操作步骤
- 全量备份c库,从备份得到start-position
- 导入c库到从库
- 暂停sql线程,设置REPLICATE_DO_DB参数添加上c库,从主从复制信息得到stop-position
- 根据以上拿到的position,解析binlog拿到sql文件
- 恢复sql文件数据
- 开启sql线程
3.操作
1.全量备份c库
mysqldump -S /db/3306/mysqld.sock --default-character-set=utf8mb4 --master-data=2 --single-transaction --set-gtid-purged=OFF -q -f -B c|gzip >c_dump.sql.gz
2.导入c库到从库
zcat c_dump.sql.gz |mysql -S /db/3307/mysqld.sock
3.暂停sql线程
STOP SLAVE SQL_THREAD;
4.从备份和主从信息中拿到position,到主库中解析binlog
mysqlbinlog --no-defaults --start-position=153333715 --stop-position=260035313 --database=hugo mysql-bin.000142 |mysql -S /db/3307/mysqld.sock
5.开启sql线程
start SLAVE SQL_THREAD;