2011-03-02 5 views
2

マスターの特定のデータベースに対してのみ、mysqlレプリケーションをセットアップしました。MySQLレプリケーションの変更が送信されない

マスターに接続し、データベースを指定しない場合(接続文字列または'use database'コマンドなど)、スレーブには送信されません。これはバグですか?なぜこれが起こるのですか?無デシベルと

例1

は今まで指定:

insert into exampledb.mytable values(1,2,3); 

例2

use exampeldb; 
insert into mytable values(1,2,3); 

答えて

1

ないバグを複製を複製しません。 。この動作はdefined in the MySql docsです:

これは行動「だけ デフォルトデータベースをチェックする」の主な理由は、それはそれは が(例えば、あなたの場合は、複製されるべきかどうかを知るためのステートメントだけで から困難である ということです複数テーブルのDELETEを使用する または が複数のデータベースにまたがる複数テーブルのUPDATEステートメント です)。 の場合は、すべてのデータベースではなく、デフォルトの データベースのみをチェックする方が速い場合は、 が必要ありません。

+1

回答ありがとうございます。これはたくさんの胸やけを引き起こしていましたが、何とか私たちはドキュメントでこれを逃しました。私はMySQLがこれをどのように処理するのか本当に好きではありませんが、私は彼らがそれを説明したと思います。 – Dave

関連する問題