Mysql 复制不重写数据库名称

Mysql replication not rewriting the database name

我正在同一 MySql 瞬间在两个数据库中复制两个数据库 table。

我有 my.ini 作为:

[mysqld]
server-id=1
log-bin 
report-host=master-is-slave-host
log-bin=D:/wamp/logs/log_bin.log
relay-log=D:/wamp/logs/relaylog.log

replicate-same-server-id=1

binlog-do-db=test
replicate-rewrite-db=test->test2

当检查错误时,它说:

Duplicate entry '18' for key 'PRIMARY'' on query. Default database: 'test2'. Query: 'INSERT INTOtest.c(id,a,b,c) VALUES (NULL, 'fff', '', '')', Error_code: 1062

看来rewrite没有生效

有人以前做过吗?

更新

我清空了table test.c(master)并重启了slave。 table 重新填充了数据。 slave table test2.c 必须是要填充的那个。

该错误看起来与复制无关。您正试图在“18”已经存在的“18”中插入值。由于该列是主键,因此您只能有一个“18”。

我怀疑该查询甚至会 运行 在主服务器上,更不用说进入从服务器并工作了。