Mysql 复制重写数据库不起作用

Ed *_*net 5 mysql mysql-replication

一整天都在“奴役”这个问题。

我有一个有效的主/从设置,但是当我尝试复制到从属上的不同数据库名称时,它失败了。这是 my.cnf 的样子:

server-id=101
report-host=Slave01

replicate_do_db='DB1'
replicate-rewrite-db=DB1->DB2

replicate-ignore-table=DB2.SOME_TABLE_NAME
Run Code Online (Sandbox Code Playgroud)

如果我取出replicate-rewrite-db 行,它可以完美运行并将DB1 数据库从主数据库复制到从数据库。我在从站上使用的主日志位置是在主站上的 CREATE DATABASE DB1 调用之后。在该日志位置之后,将创建表并在主服务器上导入数据。在创建 DB2 数据库之前,我不会配置和启动从属设备。

有任何想法吗?

更新:在mysql错误日志中看到了这个:

120531 15:48:19 [Note] Slave I/O thread: connected to master 'slave_user@master_server:3306',  replication started in log 'mysql-bin.000001' at position 107
120531 15:48:20 [ERROR] Slave: Error 'Unknown database 'DB1'' on query. Default database: 'DB1'. Query: 'CREATE TABLE `ANOTHER_TABLE` (
Run Code Online (Sandbox Code Playgroud)

Ed *_*net 7

我在评论中收到了一个提示,但用户已将其删除。

诀窍是不要使用replicate-do-db而只使用replicate-rewrite-db:

#replicate_do_db='DB1'
replicate-rewrite-db=DB1->DB2
Run Code Online (Sandbox Code Playgroud)

注释掉 my.cnf 中的 replication_do_db 行为我修复了它。

感谢给我指出正确方向的神秘用户,无论你是谁。