我有两个物理服务器。我使用命令将一些数据库从 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.sql
server2 上的 my.cnf 包括:
server-id = 2
log_bin
binlog_format = mixed
replicate_do_db = db1,db2
transaction-isolation=READ-COMMITTED
server1 上的 my.cnf 包括:
server-id = 1
log_bin
binlog_format = mixed
replicate_do_db = db3,db4
transaction-isolation=READ-COMMITTED
然后我在两台服务器上发出 change master 以相互指向;SHOW SLAVE STATUS 已经在 server2 上包含 Read_Master_Log_Pos,但无论如何在此操作期间没有进行任何数据更改。
然后在两台服务器上启动slave。SHOW SLAVE STATUS 在 server1 和 server2 上看起来都不错。
问题:每当 server1 或 server2 上的数据发生更改时,服务器的 binlog 和其他服务器的 mysqld-relay-bin 日志中都会出现数据,但不会出现在从数据库中。Read_Master_Log_Pos 发生变化,但从库中的数据没有变化。知道为什么吗?