Почему соединение MySQL блокируется из-за многих ошибок соединения?
-
21-12-2019 - |
Вопрос
Как видите, у меня проблема с подключением к базе данных.Это дает мне эту ошибку:
...блокировано из-за множества ошибок подключения
Я искал некоторые ответы, но не смог решить свою проблему.
Я не знаю, предоставил ли я всю необходимую вам информацию, поэтому, если вам нужно что-то еще, просто скажите мне.У меня есть подключение к базе данных с разных компьютеров, и у меня был создан пользователь для доступа к базе данных, но у него было %
в строке хостов, поэтому я хотел изменить его на 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";
.