Почему MySQL соединение блокируется из-за многих ошибок соединения?

Как видите, у меня проблема с подключением к базе данных. Это дает мне эту ошибку:

... заблокирован из-за многих ошибок подключения

Я искал несколько ответов, но не смог решить свою проблему.

Я не знаю, дал ли я всю информацию, которая вам нужна, поэтому, если вам нужно что-то еще, просто скажите мне. У меня есть подключение к базе данных с разных компьютеров, и у меня был создан пользователь для доступа к базе данных, но он имел % в строке хостов, поэтому я хотел изменить его на IP-адрес из-за проблем безопасности, и он дал мне эту ошибку, так что теперь я застрял.

2 ответа

Решение

MySQL блокирует клиентов, которые совершили ошибку при подключении, чтобы защитить MySQL от некорректного клиента.

Итак, сначала вам нужно выяснить, что это за ошибка....

Вы можете проверить журнал ошибок MySQL в каталоге данных. (обычно hostname.err)

Или вы можете увеличить max_connect_errors (что является текущим значением?) максимальное значение зависит от архитектуры. на 32 бита, 4294967295. 18446744073709547520 для 64 бита. ( Руководство)

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";
Другие вопросы по тегам