Mysql master-master只复制一个数据库忽略其他数据库

时间:2014-09-19 13:17:38

标签: mysql database database-replication ignore master

我有两台服务器 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

1 个答案:

答案 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