ご覧のとおり、データベース接続に問題があります。それは私にこのエラーを与えます:
...多くの接続エラーが原因でブロックされています
いくつかの回答を検索しましたが、問題を解決できませんでした。
必要な情報をすべて提供したかどうかはわかりませんので、他に必要なことがあれば教えてください。別のコンピューターからのデータベース接続があり、データベースにアクセスするためにユーザーを作成しましたが、%
のホスト行にあるため、セキュリティ問題のためにIPアドレスで変更したかったのですが、このエラーが発生したため、今は行き詰まっています。
MySQLは、接続中にエラーが発生したクライアントをブロックし、不正なクライアントからMySQLを保護します。
そのため、まず、エラーの種類を見つける必要があります。
データディレクトリのMySQLエラーログを確認できます。 (通常hostname.err)
または、max_connect_errors
(現在の値とは)を増やすことができます。最大値はアーキテクチャによって異なります。 32ビット、4294967295。64ビットの場合は18446744073709547520。 ( 手動 )
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サーバー:
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";