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

2023-09-18 10:47:33

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的主从复制并只同步特定的表是完全可行的。

更多推荐

[LLM+AIGC] 01.应用篇之中文ChatGPT初探及利用ChatGPT润色论文对比浅析(文心一言 | 讯飞星火)

近年来,人工智能技术火热发展,尤其是OpenAI在2022年11月30日发布ChatGPT聊天机器人程序,其使用了Transformer神经网络架构(GPT-3.5),能够基于在预训练阶段所见的模式、统计规律和知识来生成回答,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流以及完成复杂的NLP任务。基于此,为更好

Flutter粒子生成演示

演示:直接上代码:import'dart:math';import'dart:ui';import'package:flutter/material.dart';import'package:kq_flutter_widgets/widgets/chart/ex/extension.dart';classParticl

上传项目到github上

在github上先创建一个空仓库在github上新建一个仓库,点击你的头像,然后在出来的侧边栏选择Yourrepositories点击New创建一个新的仓库,即repository输入你的仓库名称,选择public或者private.尽量不要勾选README如果你的本地项目有readme文件的话,你在push的时候可能

ES修改字段的数据类型

--mysql修改字段数据类型语句ALTERTABLE`表名`MODIFYCOLUMN`列名`修改的字段类型;--hive修改字段数据类型语句ALTERTABLE表名CHANGECOLUMN列名修改的字段类型;--es修改字段数据类型语句无法通过一个语句进行修改。思路:1、对修改字段重新建修改类型的索引;2、将旧索引数

MyBatis 类型转换模块

文章目录前言TypeHandlerBaseTypeHandlerTypeHandler实现类TypeHandlerRegistryTypeAliasRegistryTypeHandler的应用SqlSessionFactory执行SQL语句前言MyBatis是一个持久层框架ORM框架,实现数据库中数据和Java对象中的

机器人中的数值优化(十六)—— 约束优化的应用:控制分配问题、碰撞距离计算、非线性MPC

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例二十五、控制分配问题控制分配对于冗余驱动的系统的含义

【IEEE会议】第五届机器人、智能控制与人工智能国际学术会议(RICAI 2023)

【IEEE列表会议】第五届机器人、智能控制与人工智能国际学术会议(RICAI2023)20235thInternationalConferenceonRobotics,IntelligentControlandArtificialIntelligence第五届机器人、智能控制与人工智能国际学术会议(RICAI2023)

Kindle电子书下载功能关闭怎么办,借助calibre和cpolar搭建私有的网络书库公网访问

Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!文章目录Kindle中国电子书店停运不要慌,十分钟搭建自己的在线书库随时随地看小说!1.网络书库软件下载安装2.网络书库服务器设置3.内网穿透工具设置4.公网使用kindle访问内网私人书库6月底,亚马逊公司旗下Kindle中国电子书店停止运营

c: Sorting Algorithms

SortAlgorithm.h/*****************************************************************//***\fileSortAlgorithm.h*\brief业务操作方法*VSCODEc11https://github.com/hustcc/JS-So

各种数据库分页查询SQL

一、DB2:DB2分页查询SELECT*FROM(Select字段1,字段2,字段3,rownumber()over(ORDERBY排序用的列名ASC)ASrnfrom表名)ASa1WHEREa1.rnBETWEEN10AND20以上表示提取第10到20的纪录select*from(selectrownumber()o

图解 LeetCode 算法汇总——双指针

双指针算法是一种比较常用于搜索链表或数组相关的问题,很多算法的基本的解题思路就是使用暴力搜索法。而双指针是对暴力搜索的一种优化,通过双指针可以减少数据的遍历次数。通常双指针是有两个指针,叫做light左指针和right右指针,或者叫做快指针和慢指针。作为左右指针的话,一般是在数组的或者链表的头尾两侧,从两遍往中间收缩,

热文推荐