Error number: MY-011345; Symbol: ER_XPLUGIN_FAILED_TO_SET_SO_REUSEADDR_FLAG; SQLSTATE: HY000
Message: Failed to set SO_REUSEADDR flag (error: %d).
错误说明
MY-011345; ER_XPLUGIN_FAILED_TO_SET_SO_REUSEADDR_FLAG; HY000 是MySQL中最コモンなエラーであり、MySQLがソケットオプションSO_REUSEADDRを設定する際エラーを返す場合に表示されます。このエラーは、サーバとクライアント間のネットワーク接続が維持、アクティブとなるよう管理されない場合に発生します。
常见案例
このエラーは、サーバからクライアントまでの接続が正常に運用し、異常に継続されないときに発生します。よくある例としては、MySQLサーバーが非アクティブ状態まで落ちたとき、プロセスがサーバーに強制的に非アクティブ状態となった際に発生します。また、既存の接続がプールされない状態でサーバーに切断されたときなども起こります。
解决方法
MySQLサーバの接続管理のために最初に行うことは、OSのIPAT_ARPとIP_IMITATEパラメータを変更しPing, Tracertコマンドを使ってネットワーク接続を確認してください。
その後に、MySQLクライアントのIPアドレスをテーブルから削除しでソケットオプションSO_REUSEADDRを設定し、MySQLサーバのソケットを再生成して問題を解決します。新しいMySQLサーバのソケットが作成されたら、–atomic、–default-authentication-plugin、–enforce-gtid-consistency、–log-warningsをMySQLコマンド内で指定し再度MySQLクライアントを実行して、新しい接続を再構築します。
また、外部のサーバーがMySQLサーバへの接続情報を共有している場合は、Firewallの設定を確認し確かめることが可能です。設定後、MySQLクライアントのIPアドレスを元通りに更新してください。
最後に、当該のサーバー上でMySQLデーモンを再起動することでこのエラーを回避することが可能です。再起動後はMySQLサーバを再検証してください。