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 INTO
test.
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”。
我怀疑该查询甚至会 运行 在主服务器上,更不用说进入从服务器并工作了。
我正在同一 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 INTO
test.
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”。
我怀疑该查询甚至会 运行 在主服务器上,更不用说进入从服务器并工作了。