Image

База знаний → Ошибка SQLSTATE[08004] [1040] Too many connections error

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

Для этого добавьте директиву или поменяйте в ней значение в файле:

/etc/mysql/my.cnf

Добавить нужно в секцию [mysqld]

[mysqld]
max_connections = 800

Чтобы параметры вступили в силу необходимо перезапустить службу, командой

service mariadb restart

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

Как правило, лимит в 50 подключений для пользователя более чем достаточно, а если он по какой-то причине превышается - необходимо искать ошибки в самом скрипте, возможно медленном выполнении запроса.

Ошибка при этом будет иметь уже другую причину: SQLSTATE[HY000] [1203] User someuser already has more than 'max_user_connections' active connections

Добавьте в тот же файл, следующую строку, это позволит избежать общего превышения лимита подключений:

[mysqld]
max_connections = 800
max_user_connections = 50

После внесения изменений перезапустите службу:

service mariadb restart

Готово.





Нет комментариев