Article ID: 769, created on Jun 29, 2010, last review on May 11, 2014

  • Applies to:
  • Plesk for Linux/Unix

Симптомы

В интерфейсе Plesk периодически возникает следующая ошибка:

unable to connect to database: Too many connections

SQLSTATE[08004] [1040] Too many connections

Причина

Эта ошибка означает, что было достигнуто ограничение на число одновременных подключений к серверу MySQL и новые подключения в данный момент невозможны.

Решение

Эту проблему можно решить двумя способами. Первый - это увеличить лимит на подключения, а второй - выяснить причину ошибки "Too many connections" и использовать эту информацию для уменьшения нагрузки на сервер MySQL.

Состояние сервера MySQL можно проверить с помощью утилиты "mysqladmin". Например, чтобы узнать текущее количество подключений к серверу, используйте следующую команду:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` extended-status | grep Max_used_connections
| Max_used_connections | 11 |

Чтобы посмотреть текущее ограничение на подключения:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow ` variables | grep 'max.*connections'
| max_connections | 100 |
| max_user_connections | 0

В этом примере максимальное количество подключений к серверу ("max_connections") равно ста. Максимальное количество подключений на одного пользователя ("max_user_connections") равно нулю, то есть не ограничено. Стандартные значения MySQL можно изменить в файле /etc/my.cnf (/etc/mysql/my.cnf в Debian/Ubuntu). Пример:

[mysqld]
set-variable=max_connections=150
set-variable=max_user_connections=20

После изменения файла my.cnf перезапустите MySQL:

/etc/init.d/mysqld restart

Обратите внимание, что если установить слишком высокое ограничение (больше 300), это может замедлить работу сервера. Поэтому мы рекомендуем все же найти и устранить причину такой высокой нагрузки на сервер MySQL. Вы можете проверить, какие пользователи/запросы замедляют работу MySQL на всех текущих подключениях, с помощью следующей команды:

# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` processlist

a914db3fdc7a53ddcfd1b2db8f5a1b9c 29d1e90fd304f01e6420fbe60f66f838 56797cefb1efc9130f7c48a7d1db0f0c

Email subscription for changes to this article
Save as PDF