[英]mysql master-slave-master-slave replication
I have two phisical servers. 我有两个物理服务器。 I copied some databases from server1 to server2 using command:
我使用命令将一些数据库从server1复制到server2:
server1$ mysqldump -u root -q -p --delete-master-logs --flush-logs --extended-insert --master-data=1 --single-transaction --databases db1 db2 db3 db4>to_server2.sql
and then imported them as usual 然后像往常一样导入它们
server2$ mysql -u root -p <to_server2.sql
my.cnf on server2 includes: server2上的my.cnf包括:
server-id = 2
log_bin
binlog_format = mixed
replicate_do_db = db1,db2
transaction-isolation=READ-COMMITTED
my.cnf on server1 includes: server1上的my.cnf包括:
server-id = 1
log_bin
binlog_format = mixed
replicate_do_db = db3,db4
transaction-isolation=READ-COMMITTED
then I issue change master on both servers to point to each other; 然后我在两台服务器上发出更改主机以指向彼此; SHOW SLAVE STATUS already includes Read_Master_Log_Pos on server2 but anyway no data changes have been made during this operations.
SHOW SLAVE STATUS已在server2上包含Read_Master_Log_Pos,但无论如何在此操作期间未进行任何数据更改。
Then started slave on both servers. 然后在两个服务器上启动slave。 SHOW SLAVE STATUS looks good on both server1 and server2.
从服务器1和服务器2上的显示从站状态都很好。
The problem: Whenever data is changed on any server1 or server2 data appears in server's binlog and in other server's mysqld-relay-bin log fies BUT not appears in slave database. 问题:无论何时在任何server1或server2上更改数据,数据都会出现在服务器的binlog中,而其他服务器的mysqld-relay-bin日志文件中却没有出现在从属数据库中。 Read_Master_Log_Pos changes but not data in slave database.
Read_Master_Log_Pos更改,但不更改从属数据库中的数据。 Any idea why?
知道为什么吗?
The answer is: it is really because of coma in replicate_do_db betwin database names. 答案是:确实是因为在数据库名中的plicate_do_db中出现了逗号。 The solution was to make replicate_do_db statement in my.cnf for each database to be replicated
解决的办法是在my.cnf中为每个要复制的数据库创建replicate_do_db语句
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.