2011-01-20 4 views
1

私は2つのフィジカルサーバを持っています。含まserver2の上の通常のmysql master-slave-master-slave replication

server2$ mysql -u root -p <to_server2.sql 

のmy.cnfとしてそれらをインポートし、その後

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 

と::上のmy.cnfファイル

server-id    = 2 
log_bin 
binlog_format   = mixed 
replicate_do_db   = db1,db2 
transaction-isolation=READ-COMMITTED 

私はコマンドを使用してserver1からserver2にいくつかのデータベースをコピーしますサーバ1は、以下を含む。

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が含まれていますが、とにかくこの操作中にデータは変更されていません。

その後、両方のサーバーでスレーブが開始されました。 SHOW SLAVE STATUSは、server1とserver2の両方で良好に見えます。

問題:server1またはserver2のデータが変更されるたびに、サーバーのbinlogおよび他のサーバーのmysqld-relay-binログにログデータが表示されますが、スレーブデータベースには表示されません。 Read_Master_Log_Posは変更されますが、スレーブデータベースのデータは変更されません。 理由は何ですか?

+2

代わりにserverfault.comでこれを尋ねます。 –

+0

おそらく。しかし、まだ多くの人がmysqlを習得しています...たぶん問題は昏睡状態です。データベース名に昏睡が含まれている可能性があるので、昏睡状態でデータベース名を分けようとしています... –

答えて

1

答えは:それは本当にデータベース名の間のreplicate_do_dbの昏睡状態のためです。解決策は、複製する各データベースのmy.cnf内のreplicate_do_dbステートメントを作成することでした。

関連する問題