我有两台服务器 server1 和 server2 ,我已经设置了主 - 主复制
但是在 server1 上我有很多数据库,在 server2 我只有一个我想用 server1 复制的数据库
我已经设置了复制并且工作正常但是在有人开始更改 server1 上的其他数据库后,我开始在 server2 复制<上获得这些错误/ p>
"Error 'Table 'database.table' doesn't exist' on query. Default database: ''"
我认为是因为 server2 只有我要同步的数据库
以下是 Server2
上的 my.cnf 配置服务器2
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 200M
binlog_do_db = databaseiwanttosync
binlog-checksum = none
binlog_ignore_db = information_schema,mysql,performance_schema
auto_increment_increment= 2
auto_increment_offset = 1
服务器1
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 200M
binlog_do_db = databaseiwanttosync
#binlog-checksum = none
binlog_ignore_db = information_schema,mysql,performance_schema,phpmyadmin
auto_increment_increment= 2
auto_increment_offset = 2
答案 0 :(得分:1)
使用--replicate-do-db=db_name
告诉从属SQL线程将复制限制为默认数据库(即USE选择的数据库)为db_name的语句。要指定多个数据库,请多次使用此选项,每个数据库使用一次;但是,这样做不会复制跨数据库语句,例如UPDATE some_db.some_table SET foo =&#39; bar&#39;而选择了不同的数据库(或没有数据库)。
来源:http://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.html#option_mysqld_replicate-do-db