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