MySQL接続が多くの接続エラーのブロックされている理由
-
21-12-2019 - |
質問
あなたが見ることができるように私はデータベース接続に問題があります。それは私にこのエラーを与えます:
...は多くの接続エラーのためにブロックされています
いくつかの答えを検索しましたが、私は私の問題を解決できませんでした。
私があなたが必要とするすべての情報を与えたかどうかわからないので、他の何かが必要な場合は、私に言ってください。私は異なるコンピュータからデータベース接続を持っていて、私はデータベースにアクセスするためにユーザーが作成されましたが、ホストの行に%
を持っていましたので、セキュリティ問題のためのIPアドレスで変更して、私は今このエラーを与えましたMが立ち往生しています。
解決
MySQLは、MySQLを不正なクライアントから保護しながらMySQLを接続しているときにエラーが発生したクライアントをブロックします。
最初に、あなたはどのようなエラーがあるかを見つける必要があります....
データディレクトリにMySQLエラーログをチェックすることができます。(通常 hostname.err )
または、max_connect_errors
(現在の値とは何ですか?)最大値はアーキテクチャによって異なります。64ビットでは、32ビット、4294967295.1844674407370954720。(マニュアル)
mysql> SET GLOBAL max_connect_errors = 100000000;
.
しかし、エラーが頻繁に発生した場合、これは実際のソリューションではありません。
FLUSH HOSTS
は、現在ブロックされたホストを排除するのに役立ちます。
mysql> FLUSH HOSTS;
.
外部のMySQLコンソールから実行したい場合は、mysqladminコマンドを使用してください。
# mysqladmin flush-hosts
. 他のヒント
最初のフラッシュホスト次のコマンドを使用して、ローカルMySQLをホストします。
mysqladmin -u [username] -p flush-hosts
**** [MySQL password]
.
または
mysqladmin flush-hosts -u [username] -p
**** [MySQL password]
.
ネットワークMySQL Server:
mysqladmin -h <ENDPOINT URL> -P <PORT> -u <USER> -p flush-hosts
mysqladmin -h [END POINT URL] -P 3306 -u [DB USER] -p flush-hosts
.
追加の提案で 編集によって多くの接続エラー問題のブロック化を永続的に解決することができます my.iniファイル[MySQL設定ファイル]
変数の変更max_connections= 10000;
または
コマンドラインを使用したMySQLへのログイン -
mysql -u [username] -p
**** [MySQL password]
.
以下のコマンドをMySQLウィンドウに入れる
SET GLOBAL max_connect_errors=10000;
set global max_connections = 200;
.
コマンドを使用した確認 -
show variables like "max_connections";
show variables like "max_connect_errors";
.