我有两台物理服务器。我使用以下命令将一些数据库从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然后像往常一样导入它们
server2$ mysql -u root -p <to_server2.sqlserver2上的my.cnf包括:
server-id = 2
log_bin
binlog_format = mixed
replicate_do_db = db1,db2
transaction-isolation=READ-COMMITTEDserver1上的my.cnf包括:
server-id = 1
log_bin
binlog_format = mixed
replicate_do_db = db3,db4
transaction-isolation=READ-COMMITTED然后,我在两台服务器上发出change master命令,使其指向对方;SHOW have STATUS已经包含server2上的Read_Master_Log_Pos,但无论如何,在此操作期间没有进行任何数据更改。
然后在两台服务器上启动slave。显示从属状态在server1和server2上看起来都很好。
问题:每当任何server1或server2上的数据发生更改时,数据都会出现在服务器的binlog和其他服务器的mysqld-server2-bin日志中,但不会出现在从数据库中。Read_Master_Log_Pos会更改从数据库中的数据,但不会更改数据。知道为什么吗?
发布于 2011-01-21 07:14:19
答案是:这真的是因为replicate_do_db betwin数据库名称中的coma。解决方案是在my.cnf中为每个要复制数据库创建replicate_do_db语句
https://stackoverflow.com/questions/4753393
复制相似问题