MySQL只同步单个表或多个表,非全部同步!

replicate-do-table 是 MySQL 复制配置中的一个选项,它允许您指定要在从服务器上复制的表。如果您想要只复制主服务器上特定的表到从服务器,您可以使用这个选项。

以下是如何操作 replicate-do-table 的步骤:

  1. 停止从服务器:

    在从服务器上执行以下命令来停止复制:

    STOP SLAVE;
    
  2. 编辑 MySQL 配置文件:

    找到您的 MySQL 配置文件,通常是 my.cnfmy.ini。这个文件的位置可能会根据您的操作系统和安装方式而异。

    [mysqld] 部分下,加入以下行来指定要复制的表:

    replicate-do-table=db_name.table_name
    

    如果有多个表需要复制,为每个表重复上述行,例如:

    replicate-do-table=db_name.table1
    replicate-do-table=db_name.table2
    
  3. 重新启动 MySQL 服务:

    为了使新配置生效,您需要重新启动 MySQL 服务。

    根据您的操作系统,这通常可以通过以下命令之一完成:

    service mysql restart
    

    systemctl restart mysqld
    
  4. 启动从服务器复制:

    返回到 MySQL 的从服务器,启动复制:

    START SLAVE;
    
  5. 检查复制状态:

    请确保复制正常运行并且没有错误:

    SHOW SLAVE STATUS\G;
    

    主要检查 Slave_IO_RunningSlave_SQL_Running 是否都为 Yes。如果不是,查看相关的错误信息并解决。

完成上述步骤后,从服务器将仅复制您在 replicate-do-table 中指定的表。不过,请注意,这种方法需要停机时间,并且在修改任何配置之前,您应该确保备份所有数据和配置文件。此外,在生产环境应用更改之前,最好在测试环境中进行试验。

如果您使用了replicate-do-table=db_name.table_name配置,那么仅指定的表会被复制到从服务器。其它的表不会被复制。

但需要注意的是,如果您同时使用了多个过滤选项(例如replicate-do-table, replicate-ignore-table, replicate-do-db等),它们之间的交互可能会变得相当复杂,并可能导致预期外的行为。因此,通常推荐在配置时尽量简单,并确保您完全理解所做的每个设置。

简单来说,如果您只配置了replicate-do-table,那么仅那些明确列出的表会被复制,其他所有的表都不会被复制。

是的,两个数据库之间可以通过外网进行同步,但要注意安全性和性能方面的问题。此外,仅同步具有相同表结构的表也是可以的。

  1. 外网同步

    • 当通过外网进行MySQL主从复制时,需要确保网络连接稳定,并且延迟尽可能低。
    • 安全性是关键。您应该考虑使用SSL进行加密,确保数据在传输过程中是加密的。同时,确保只开放必要的端口,并使用防火墙限制只有从数据库的IP可以访问主数据库的MySQL端口。
  2. 表结构

    • 如果只有一个表需要同步,并且该表在两个数据库中都有相同的结构,那么这没有问题。您可以使用 replicate-do-table=db_name.table_name 选项在从服务器上只同步那个特定的表。
    • 虽然其他表的结构和数据不同,但这不会影响到指定表的同步。
  3. 步骤

    • 在主数据库上,确保已经启用了二进制日志(binary logging)。
    • 创建一个只有读和复制的权限的用户供从数据库使用。
    • 在从数据库上配置主从复制,并指定只复制那个特定的表。
    • 在从数据库上开始复制。
  4. 监控和维护

    • 定期检查从服务器的复制状态以确保一切正常。
    • 考虑使用工具或脚本自动检测复制错误或延迟。

总之,只要考虑到安全性和性能,并适当配置,那么通过外网进行MySQL的主从复制并只同步特定的表是完全可行的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/81956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++---链表

1、链表 1.1、链表的结构 每个链表开头都有一个头指针Head尾节点的指针域为NULL,用于判断此列表是否结束 如果一个链表开始就为NULL,那么该链表为空链表 链表中的先后不代表在真实内存中的位置,只是单纯的逻辑上关系 1.2、创建链表 我们首…

网络编程 day1

1->x.mind网络编程基础 2->简述字节序的概念,并用共用体(联合体)的方式计算本机的字节序 1.字节序是指不同类型的CPU主机,内存存储多字节整数序列的方式 2.小端字节序:低序字节存储在低地址上 3.大端字节序&a…

day19正则表达式

今日内容 正则表达式 教学目标 能够理解正则表达式的作用 能够使用正则表达式的字符类 能够使用正则表达式的逻辑运算符 能够使用正则表达式的预定义字符类 能够使用正则表达式的限定符 能够使用正则表达式的分组 能够在String的split方法中使用正则表达式 正则表达式 1.1 …

C++:constexpr 和 const 的区别

constexpr 是 C 11 标准新添加的关键字&#xff0c;原先的标准中是只有const关键字的&#xff0c;作用是表示只读常量。但是&#xff0c;其实只读常量是两个属性&#xff0c;分为只读和常量&#xff0c;都用const来表示会产生歧义。 看下面的例子 #include <iostream> …

Layui + Flask | 弹出层(组件篇)(04)

提示:点击阅读原文体验更佳 https://layui.dev/docs/2.8/layer/ 弹出层组件 layer 是 Layui 最古老的组件,也是使用覆盖面最广泛的代表性组件。在实现网页弹出层的首选交互方案,使用的非常频繁。 打开弹层 layer.open(options); 参数 options : 基础属性配置项。打开弹层的核…

定制化图标——Element UI 组件图标替换指南

本篇博客将介绍如何在使用 Element UI 组件时对原生图标进行定制化替换&#xff0c;提供了适用于满足个性化需求的方法和技巧。 引言 Element UI 是一款基于 Vue.js 的流行 UI 组件库&#xff0c;在前端开发中得到广泛应用。然而&#xff0c;在使用 Element UI 的组件时&#…

中小型教育机构这样做,让你轻松抓住受众注意力

教育一直都是家长对于孩子最关心的事情&#xff0c;对于部分家庭来说&#xff0c;教育支出占整个家庭支出的50%左右。 而软文作为目前效果比较明显而且性价高的推广方式&#xff0c;也很适合教育培训行业&#xff0c;因为它能让潜在客户可以清楚地了解产品的特性&#xff0c;感…

springcloude gateway的意义

应用场景 1、南北向流量 需要流量网关和微服务网关配合使用&#xff0c;将内部的微服务能力&#xff0c;以统一的 HTTP 接入点对外提供服务。 流量网管主要是接入流量进行负载均衡&#xff0c;上游的微服务网关地址和数量变化不大&#xff0c;对服务发现要求不高。 微服务网…

Java面试八股文宝典:初识数据结构-数组的应用扩展之HashMap

前言 除了基本的数组&#xff0c;还有其他高级的数据结构&#xff0c;用于更复杂的数据存储和检索需求。其中&#xff0c;HashMap 是 Java 集合框架中的一部分&#xff0c;用于存储键值对&#xff08;key-value pairs&#xff09;。HashMap 允许我们通过键来快速查找和检索值&…

004-Windows下开发环境搭建

Windows下开发环境搭建 文章目录 Windows下开发环境搭建项目介绍版本控制工具Git 与 SVNWindow下安装Git Qt 开发工具静态编译Qt环境安装 串口模拟器比较工具SQLite 数据库查看小工具预告 关键字&#xff1a; Qt、 Qml、 开发环境、 Windows、 C 项目介绍 欢迎来到我们的 …

数据库操作-DML/DQL

数据库操作-DML DML英文全称是Data Manipulation Language(数据操作语言)&#xff0c;用来对数据库中表的数据记录进行增、删、改操作。 添加数据&#xff08;INSERT&#xff09; 修改数据&#xff08;UPDATE&#xff09; 删除数据&#xff08;DELETE&#xff09; 增加(ins…

python 异常

1.捕获异常 2.密码爆破 3.

基于b/s架构搭建一个支持多路摄像头的实时处理系统 (3) -- Django 结合WebSocket 进行实时图像与消息的展示, 前后端交互与定时任务的重构

文章大纲 consumersself.scope参考文献与学习路径javascript html websocketpython 定时任务Django 实时通信后端 channelconsumers https://channels.readthedocs.io/en/stable/topics/consumers.htmlself.scope consumer在初始化时会接受链接的scope,类似于Django中的reque…

查看云桌面请求linux服务器网络快慢

要查看云桌面请求 Linux 服务器的网络快慢&#xff0c;您可以使用一些网络诊断工具和命令来评估连接的性能。以下是一些方法&#xff1a; 使用 ping 命令&#xff1a; ping 命令可以测试与目标服务器之间的网络连接。在终端中运行以下命令以测试服务器的响应时间&#xff1a; p…

【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

OpenELB部署及应用 一、OpenELB介绍 网址&#xff1a; openelb.io OpenELB 是一个开源的云原生负载均衡器实现&#xff0c;可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区发…

用Python把csv文件批量修改编码为UTF-8格式并转为Excel格式

有时候用excel打开一个csv文件&#xff0c;中文全部显示乱码。然后手动用notepad打开&#xff0c;修改编码为utf-8并保存后&#xff0c;再用excel打开显示正常。 使用Python通过很少代码就能将上面过程自动化。 导入3个模块 import pandas as pd import os import chardetc…

Python 3 – 文件 readline() 方法

Python 3 – 文件 readline() 方法|极客笔记 # 打开文件 file open("example.txt", "r")# 读取文件中的一行数据 line file.readline() while line:# 移除行尾的换行符print(line.strip())# 读取文件中的下一行数据line file.readline()# 关闭文件 file…

【Seata】05 - Seata Saga 模式简单整理、Docker 部署 Nacos 单机(基于 Jpom)相关配置

文章目录 前言参考目录Saga 模式知识点简单整理1、适用场景、优缺点2、Saga 模式的使用3、可能出现的问题以及解决方法 Docker 部署 Nacos 单机&#xff08;基于 Jpom&#xff09;步骤 1&#xff1a;拉取镜像步骤 2&#xff1a;构建容器步骤 3&#xff1a;Nacos 设置 Seata 配置…

自动化测试工具slelnium的初体验

1.slelnium介绍 1.1 一个Web的自动化测试工具&#xff0c;最初是为网站自动化测试而开发的。 1.2 可以直接运行在浏览器上&#xff0c;它支持所有主流的浏览器&#xff08;包括PhantomJS这些无界面的浏览器&#xff09;&#xff0c;可以接收指令&#xff0c;让浏览器自动加载页…

代码随想录Day41| 343. 整数拆分 |

343. 整数拆分 class Solution { public:int integerBreak(int n) {vector<int> f(n1,0);f[2]1;for(int i3;i<n;i){for(int j1;j<i-1;j){f[i]max(f[i],max(f[i-j]*j,(i-j)*j));}}return f[n];} }; 96. 不同的二叉搜索树 class Solution { public:int numTrees(int…