不同数据库中同一服务器中的复制。mysql 5.6
-
26-09-2020 - |
题
我拥有的 :
- 一台带有 MySQL 5.6 Server 实例的 Windows 计算机。
- 两个名为 test 和 test2 的数据库。
Test
数据库有一个表称为activity
有柱子id
和class
我需要的 :
- 复制
test.activity
表到test2
数据库的条件是Test.activity.class = 'B'
.
我知道如何在不同的服务器中复制。但不适用于不同数据库中的同一服务器。我已经检查过 这个链接 ,但它没有提供足够的信息。
解决方案
这根本就不是一个正常的情况!复制期间不能更改数据库,并且主/从不能具有相同的服务器 ID。如果您必须这样做,我建议您在第一个数据库上设置一些触发器,以针对第二个数据库复制插入/更新命令。
其他提示
如果我确实正确理解了您的需求,您可以在一台服务器(操作系统)上拥有 2 个 MySQL 实例,然后您可以将其中一个配置为主服务器,另一个配置为从服务器。您必须创建不同的 my.conf,我们将其命名为 my1.conf 和 my2.conf,每个文件的端口号、套接字路径、日志错误路径和其他一些参数都应该不同。通过这种方法,您将运行 2 个具有不同配置的 MySQL 守护进程。如需完整文档,请访问 https://dev.mysql.com/doc/refman/5.1/en/multiple-servers.html .
尝试 mysql 沙箱,它可能会解决你的问题(http://mysqlsandbox.net/)
因为:
测试的复制。活性表到test2数据库具有test.activity.class ='b'的条件。
本机复制没有帮助,在这种情况下,最好将两个数据库保留在同一服务器上,并在主数据库上安装 INSER/UPDATE/DELETE 触发器,这将检查条件并在第二个数据库上进行直接更改。
这是最简单的方法。还有很多其他的可能。
不隶属于 dba.stackexchange