kinjouj.github.io

MySQL Federated Table


MySQL

MySQL5から使用可能になったOracleでいうデータベースリンクの機能のメモ

メインサーバーIP 192.168.0.1
サブサーバーIP   192.168.0.3

サブサーバー側にテーブルを作成

CREATE TABLE sample (
    ID int(10),
    NAME varchar(40),
    primary key(id)
)
ENGINE=MyISAM
DEFAULT CHARSET=ujis

んでこのテーブルに適当にデータを設定する

メインサーバー側にテーブルを作成

ENGINEにFEDERATEDを指定する

CREATE TABLE sample (
    ID int(10),
    NAME varchar(40),
    primary key(id)
)
ENGINE=FEDERATED
DEFAULT CHARSET=ujis
CONNECTION='mysql://hoge:hoge@192.168.0.3:3306/sample_db/sample';

CONNECTIONのフォーマットは

mysql://User:Password@ServerHost:Port/DatabaseName/TableName

あとはメインサーバーのテーブルをSELECTしたりするとサブサーバー側が参照されるらしい