场景
当前导出方案,适合非核心离线数据
缺陷
云厂给的管理用户没有super权限,记录的时间点并非实时导出点的binlog点,可能存在少量数据丢失
优势
· 不依赖云厂同步工具,成本有所减少
· 指定从主库同步指定的表,提供离线业务,实现和其他数据表的隔离
添加自建mysql从库流程
# 连接主库查看当前写入binlog位置,保存binlog记录
mysql> show master statusG
*************************** 1. row ***************************
File: mysql-bin-changelog.218003
Position: 17089921
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
# 同时立即在从库机器,连接主库,导出同步业务表到本地
mysqldump -h master_node_domain -u admin -pxxxxxxx --single-transaction dbsss tablexxx table_000 table_001 ... table_127 > dbsss.sql
#从库上,重置主从关系
mysql> reset slave;
#从库导入业务库
mysql -u root -pxxxxxxx -D dbsss < ./dbsss.sql
#从库上配置指定表同步过滤规则
mysql> CHANGE REPLICATION FILTER REPLICATE_WILD_DO_TABLE=('dbsss.tablexxx','dbsss.table_%');
#配置主从同步关系
mysql> change master to master_host='172.24.16.215',master_user='repl_user', master_password='repl_user', master_log_file='mysql-bin-changelog.291364',master_log_pos=670388;
#启动主从服务同步
mysql> start slave;
#查看主从同步是否正常
mysql> show slave statusG
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0
...