Почему 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";