我一直在尝试在两个MySQL服务器之间进行主 - 主复制,但使用不同的数据库名称,而且我遇到了一些绊脚石。看起来,尽管UPDATE按预期正常工作,但INSERT并没有。replicate-rewrite-db是否有任何真实世界的应用程序?
虽然我会说这是一个错误或至少是我的设置有问题,但似乎MySQL说这是一个功能(here和here)。
如果那么,如MySQL所言,它只能在默认数据库上工作,那么这个设置如何具有实际的真实世界目的?
我缺少的东西?
参考my.cnf中的相关部分。我一直在通过在phpMyAdmin中执行插入和更新来测试它,如果这样做有任何区别的话。
主
log-bin=mysql-bin
binlog_do_db=db1
从
replicate-rewrite-db=db1->db2
replicate-wild-do-table=db2.table1
我提供了一个答案,但我明天将设置一个实际环境来重新创建测试场景并验证您的情况。如果您还有时间,请尝试使用标准的mysql控制台,并比较USE db1和通用插入与在查询中指定数据库名称之间的关系。你应该看到有所不同。 – Michael 2012-08-15 15:25:55