【发布时间】:2015-01-08 01:04:49
【问题描述】:
我正准备对我管理的数据库进行一些更改,但不确定我想要做的事情是否会正确复制,所以我在测试环境中运行了一些测试,结果证明它们会,但前提是我不这样做从 MySQL Workbench 运行命令。
例如,如果有一个名为 db_test 的数据库和一个名为 test_a 的数据库中只有一个列 id 的表,我尝试从工作台执行此操作:INSERT INTO db_test.test_a (id) VALUES (114);
我在主数据库中获得了预期的行,但它从未复制到从属数据库。
当我执行SHOW SLAVE STATUS 时 - 它显示一切都很好,并且是最新的。如果我然后使用不同的 SQL 客户端(例如 SequelPro)并以相同的方式插入另一行(但显然是不同的 id),它将显示在主服务器中并复制到从服务器。
这让我感到困惑和担忧,因为我想了解其中的区别,这样我就可以避免执行无法复制的操作。
【问题讨论】:
-
你确定你已经连接到master了吗?
-
是的,我仔细检查了。
-
复制完全独立于任何访问服务器的客户端。将 MySQL Workbench 插入的数据与其他客户端插入的数据区别对待是绝对没有意义的。肯定还有其他问题。
-
您是否在从属设备上使用了复制过滤(尤其是
--replicate-do-db)? -
@MikeLischke 我完全同意你的看法,但我也知道两个客户端可以根据客户端的隐式行为表现不同。所以我想知道这两个客户中的一个是否正在做一些我不知道的事情。我需要知道,这样我才能确信我选择的方法会在 100% 的时间内复制。
标签: mysql mysql-workbench