我有一个名为"master“的生产数据库,我想在另一个服务器上以另一个名称复制它(称为”从“)。
在主服务器上执行ALTER语句之前,所有操作都正常。从那时起,复制挂起,我在从日志中得到了这个错误:
[ERROR] Slave SQL: Error 'Table 'master.students' doesn't exist' on query. Default database: ''. Query: 'ALTER TABLE `master`.`students`当然,它并不存在,因为我告诉MySQL将“主人”重命名为“奴隶”!但似乎MySQL决定不在ALTER语句中重命名数据库。
以下是我的从属配置的摘录。
server-id = 2
relay-log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = slave
replicate-rewrite-db="master->slave"发布于 2015-06-11 12:49:30
原来我使用的是MySQL工作台,它不会在DDL脚本中输出" use“语句,如果不提供use语句,也不会进行重写。
因此,在脚本开头添加USE master;修复了它。谢谢!
https://dba.stackexchange.com/questions/103236
复制相似问题