FEDERATEDエンジンの接続を閉じる方法
提供:MySQL Practice Wiki
概要
FEDERATEDエンジンを使って別のMySQLサーバに接続すると、接続元の(FEDERATEDテーブル定義が存在する)MySQLサーバ内に接続用のスレッドが作成される。一つのFEDERATEDテーブルごとに一つのスレッドが割り当てられる。スレッドがたくさんあると、一部のOSではスレッドの最大数に達してしまうおそれがあるため、FEDERATEDテーブルのためにスレッドを消費してしまうのは望ましくない。接続はテーブルキャッシュに該当テーブルが存在する間、持続する。
何らかの方法でこのスレッドを終了させる必要があるが、それには以下の方法が有効である。
- FLUSH TABLESコマンドを使う。
- テーブルキャッシュの数を制限する。
FEDERATEDストレージエンジンに関する注意事項
この記事を書いている現在、FEDERATEDストレージエンジンは本番稼働に適するほど成熟していない。今のところ、データ移行などで一時的に利用するにとどめておくのがいいだろう。