当前位置: 首页 > news >正文

Mysql-主从搭建如何指定库表同步以及新增库表同步

背景:

当主库数据量过大,从库仅需要同步A库的所有表,并且在后续运行中,又提出需要在从库新增B库的users表进行同步。本文会详细列出过程与具体命令,并告诉你其中的深坑!

步骤一:

修改从库参数文件,添加以下参数

replicate-wild-do-table = A.%

注意!

这里有两个深坑,很多人喜欢使用 Replicate-Do-DB 来表示同步A库,但是这个参数很坑!

原因一:同步库与同步指定表的参数是互相冲突的,Replicate-Do-Table 的优先级高于 Replicate-Do-DB。当同时配置这两个参数时,只有 Replicate-Do-Table 生效,而 Replicate-Do-DB 会被忽略,所以建议同步A库的全表使用Replicate-wild-Do-Table参数,这个参数支持使用通配符%

原因二:如果采用 Replicate-Do-DB ,当主库在非A库下,比如说B库下 执行插入数据到A.表,也会导致无法同步数据到从库。

步骤二:

主库导出数据
全库A

mysqldump  -uroot -p --set-gtid-purged=OFF --master-data=2 --single-transaction --databases A> A.sql

步骤三:

导入A库数据

mysql -uroot -p < A.sql

步骤四:

主库创建同步用户

create user newbackup@'%' identified by'mcbackup';
grant REPLICATION SLAVE ON *.* TO newbackup@'%';

步骤五:

从备份获取需要的postion信息

more A.sql
-- CHANGE MASTER TO MASTER_LOG_FILE='bin.029266', MASTER_LOG_POS=405519650;

从库指定同步起点

CHANGE MASTER TO MASTER_HOST='10.30.76.4',MASTER_USER='newbackup',MASTER_PASSWORD='mcbackup',MASTER_LOG_FILE='mysql-bin.000004',MASTER_LOG_POS=3189;

启动同步,验证无误

start slave

步骤六:

建议:在业务低峰期进行,新增表无更新的时候进行

新增同步表,需要在参数文件中添加参数

replicate-do-table = B.users

从库提前创建B库

create database B;

导出

mysqldump  -uroot -p --set-gtid-purged=OFF --master-data=2 --single-transaction  B users> users.sql

导入

mysql -uroot -p B < users.sql

注意

无需重新change mater更改同步的启动,这会导致原来的同步数据出现故障

start slave;

总结:
1、建议使用replicate-wild-do-table = A.% 替代 Replicate-Do-DB=A
2、业务低峰期,新增表五操作时,完成新增表同步的操作,这样可以不用重新change master即可完成同步

相关文章:

  • 从毕达哥拉斯定理到向量距离和夹角的计算
  • SCSS预处理器(详细讲解、入门教程)
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(一)
  • 第五章 起航14 后退一步也是一种保护?
  • C 语言中使用数组作为参数的函数
  • Linux第一课
  • 2025天津申论(综合市区) 第一题“反向旅游”
  • Linux断电重启后,硬盘挂载失败问题。
  • json.load
  • 线程池C++实现
  • 2025华为OD机试真题E卷 - 螺旋数字矩阵【Java】
  • 【数据集】社区天气资讯网络CoWIN-香港小时尺度气象数据(含MATLAB处理代码)
  • JavaScript基础-算数运算符
  • Java直通车系列14【Spring MVC】(深入学习 Controller 编写)
  • Linux下find命令的使用方法详解
  • [附JS、Python、C++题解] Leetcode面试150题 (5)
  • Odoo最佳业务实践:采购管理概述
  • 20250307学习记录
  • 大模型发展历程
  • C# 在Excel中插入和操作切片器-详解
  • 做网站是否需要自购服务器/网络营销怎么做推广
  • 二级目录做网站/西安百度首页优化
  • 买一款app要多少钱/seo及网络推广招聘
  • 太原做学校网站的公司/外贸网络推广经验
  • 有哪些做的推文排版的网站/搜索引擎优化排名技巧
  • 营销型网站建设域名/怎么做一个网站平台