web-dev-qa-db-ja.com

MySQLエラー1429、フェデレーション

MySQLフェデレーションを使用して、あるMySQLデータベースが別のデータベースのデータテーブルにアクセスできるようにします。これは1年以上正常に機能しましたが、今日(突然)、保存されたルーチンがこのMySQLエラーを報告しました。

Error Code: 1429. Unable to connect to foreign data source: Too many connections

SELECTを使用してフェデレーションテーブルにアクセスしようとすると、次のようになります。

Error Code: 1030 Got error 1 from storage engine

データをホストするMySQLサーバーに移動すると、実際には目的のデータをSELECTできるので、機能しているようです。

データにアクセスするサーバーはバージョン5.0.51a24で、ホストサーバーは5.0.96-0です。古いもの、つまり。

どうすれば問題を解決できますか? MySQLドキュメント で多くのヘルプを見つけることができませんでした。

1
Gruber

リモート/宛先サーバー上のアクティブな接続の数を確認してください。

(新しいバージョンの)ソースコードを見ると、「接続が多すぎます」というメッセージが実際にはリモートエンドから返されているのは良いことだと思います-ローカルサーバー(FEDERATEDエンジンが使用されています)。

SHOW STATUS LIKE '%connect%'; 

Threads_connectedは現在のカウント、Max_used_connectionsは、最後にFLUSH STATUSが発行されてから表示された最大値です。

その最大値がSHOW VARIABLES LIKE 'max_connections';によって返される値と同じ(または1より大きい)場合、ある時点でそのサーバーは最大になり、このメッセージを返す可能性があります。

リモートサーバーにアイドル状態のインバウンドフェデレーション接続が多数表示される場合は、ローカルサーバーでFLUSH TABLESを発行するとそれらが解放されることがあります。

2