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

StackOverflow https://stackoverflow.com//questions/20014746

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

Вы можете проверить журнал ошибок MySQL в каталоге данных.(обычно имя_хоста.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 file [файл конфигурации 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";
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top