別サーバのテーブルを参照する同一サーバの別データベースのテーブルの参照同一サーバの別データベースのテーブルは、 SELECT * FROM foo_db.table1 のようにして参照出来る。 別サーバの別データベースのテーブルの参照別サーバの別データベースのテーブルでは上のようには出来ない。当該データベースに参照したいテーブルのコピーを作る必要がある。その方法は、レプリケーションで当該データベースをスレーブにするか、FEDERATEDエンジンを使って当該データベースにFEDERATEDテーブルを作るか、いずれか。 FEDERATEDテーブルの作り方参照したいテーブルが、ホスト192.168.0.1上のfoo_dbデータベースのusersテーブルだとすると、以下のようなSQLで当該データベースにusersテーブルを作成する。 CREATE TABLE `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `user_name` text, PRIMARY KEY (`user_id`) ) ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='mysql://db_user:db_pass@192.168.0.1/foo_db/users'; FEDERATEDエンジンがサポートされているか?を確認SHOW ENGINES; 参考 |
|