簡體   English   中英

MySQL主從復制主從復制

[英]mysql master-slave-master-slave replication

我有兩個物理服務器。 我使用命令將一些數據庫從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

然后我在兩台服務器上發出更改主機以指向彼此; SHOW SLAVE STATUS已在server2上包含Read_Master_Log_Pos,但無論如何在此操作期間未進行任何數據更改。

然后在兩個服務器上啟動slave。 從服務器1和服務器2上的顯示從站狀態都很好。

問題:無論何時在任何server1或server2上更改數據,數據都會出現在服務器的binlog中,而其他服務器的mysqld-relay-bin日志文件中卻沒有出現在從屬數據庫中。 Read_Master_Log_Pos更改,但不更改從屬數據庫中的數據。 知道為什么嗎?

答案是:確實是因為在數據庫名中的plicate_do_db中出現了逗號。 解決的辦法是在my.cnf中為每個要復制的數據庫創建replicate_do_db語句

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM