2010-03-07 5 views
1

Мое приложение больше не подключается к своей БД, а phpmyadmin говорит: # 1129 - Host 'xxx.xx.xx.xx' заблокирован из-за многих ошибок подключения; разблокировать с помощью «mysqladmin flush-hosts»MySQL/phpMyadmin: «много ошибок подключения»

mysql_error() выводит одно и то же сообщение. Может ли это быть из-за слишком большого количества соединений?

В чем причина этого?

ответ

2

Из инструкции: http://dev.mysql.com/doc/refman/4.1/en/blocked-host.html

Количества прерывания подключения запросов разрешено определяются значения max_connect_errors системы переменного. После max_connect_errors неудачных запросов, туздЫ предполагает, что что-то не так (например, что кто-то пытается взломать) и блокирует хозяина от дальнейших соединений, пока вы не выполните mysqladmin команды флеш-хостов или ВЫПУСКАЙТЕ FLUSH HOSTS. См. Раздел 5.1.3, «Серверная система Переменные».

Возможно, у вас возникли проблемы с подключением к сети.

0

У нас была эта проблема при использовании monit для мониторинга нашего сервера БД. Монит вызовет ошибки соединения, если ваш конфиг имеет вид:

if failed port 3306 with timeout 15 seconds 2 times within 3 cycles then alert 

Вместо

if failed port 3306 protocol mysql with timeout 15 seconds 2 times within 3 cycles then alert 

Отсутствие «протокола MySQL» вызывает счетчик ошибок соединения надреза до.

4
  1. Откройте командную строку (или оболочки в Linux) с административными privilleges

  2. Flush все хосты в MySQL с помощью mysqladmin:

    mysqladmin флеш-хозяев -u -p корень

  3. Откройте my.cnf (Linux) или my.ini (Windows) и измените переменную max_connect_errors на большое число. Я использовал:

    max_connect_errors = +1000000 сервер

  4. Restart MySQL

Смежные вопросы