- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- MySQL/SQL/別サーバのテーブルを参照する へ行く。
- 1 (2011-09-02 (金) 14:34:27)
同一サーバの別データベースのテーブルの参照
同一サーバの別データベースのテーブルは、 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=MyISAM DEFAULT CHARSET=latin1 ENGINE=FEDERATED DEFAULT CHARSET=utf8 CONNECTION='mysql://db_user:db_pass@192.168.0.1/foo_db/users';
FEDERATEDエンジンがサポートされているか?を確認
SHOW ENGINES;