MySQLに外部サーバ定義を登録する

リンクテーブルを作成するときなど、FEDERATED ストレージエンジンで使用する外部サーバーを定義する際には、CREATE SERVERコマンドを使用する。外部サーバを定義するとmysql.serversテーブルにカラムが追加されるが、SQL文で直接mysql.serversにカラムを追加すると正常に動作しないので注意が必要である。

CREATE SERVER server_name FOREIGN DATA WRAPPER mysql OPTIONS (USER 'hoge', PASSWORD 'hogehoge', HOST '192.168.0.x', DATABASE 'database_name');

以下のように追加するのはよくないぽい。

INSERT INTO `mysql`.`servers` (`Server_name` ,`Host` ,`Db` ,`Username` ,`Password` ,`Port` ,`Socket` ,`Wrapper` ,`Owner`)VALUES ('server_name', '192.168.x.1', 'database_name', 'hoge', 'hogehoge', '0', '', '1', 'mysql', '');