Ошибка при установке соединения с базой данных: что проверять
Сайт вместо страниц показывает одну строку про соединение с базой. Иногда рядом есть текст от самой базы — он сразу говорит, куда смотреть.
Что означают сообщения
| Что видно | Что происходит |
|---|---|
[Bitrix\Main\DB\ConnectionException] Mysql connect error | Сайт не смог подключиться: служба не работает, нет места, неверные доступы |
Access denied for user | Пароль или пользователь не подходят |
Can't connect to local MySQL server | Служба базы не запущена или слушает другой сокет |
Too many connections | Исчерпан лимит одновременных соединений |
The table '...' is full | Кончилось место на разделе с данными |
| Ошибка без текста, сайт просто белый | Вывод ошибок выключен; смотрите журнал веб-сервера |
Порядок проверки
- Работает ли служба базы. Самая частая причина: не поднялась после перезагрузки сервера или упала по нехватке памяти. Запуск службы решает.
- Свободное место. При заполненном диске база останавливается и отказывается принимать запросы. Проверяется одной командой и экономит час поисков.
- Доступы. Сверьте имя базы, пользователя и пароль в
/bitrix/php_interface/dbconn.phpи/bitrix/.settings.php— значения в них должны совпадать. Пароль мог смениться при переносе или после инцидента безопасности. - Адрес сервера базы. После переезда база нередко остаётся на другом хосте, а в настройках указан
localhost. - Число соединений. Если ошибка появляется только под нагрузкой, упирается в лимит одновременных подключений.
Когда база падает сама
Отдельный сценарий: ошибка возникает в часы пик и проходит после перезапуска. Обычно это значит, что базе не хватает памяти — система останавливает процесс, когда он запрашивает больше доступного.
Лечится настройкой параметров базы под реальный объём памяти сервера, а не только покупкой более мощного тарифа: неверно настроенная база на мощном сервере падает так же, просто реже.
Нехватка места — частая маскировка
Ошибка подключения к базе почти всегда выглядит как проблема базы, а в трети случаев это просто кончившееся место. Признаки: сайт работал до вечера и лёг, ничего не меняли, перезапуск службы помогает на пять минут.
Проверка свободного места должна стоять в начале разбора, а не в конце. Что чистить — в отдельной инструкции.
Чего делать не нужно
- Не запускайте мастер установки и не переустанавливайте продукт: он предложит создать базу заново, и при неудачном стечении обстоятельств вы потеряете данные.
- Не правьте таблицы руками, пока не поняли причину: ошибка подключения почти никогда не означает повреждение данных.
- Не меняйте пароль пользователя базы «на всякий случай» — получите вторую проблему поверх первой.
Перед любыми действиями убедитесь, что есть свежая резервная копия: порядок описан в инструкции про резервные копии.
Частые вопросы
Сайт выдаёт ошибку соединения, ничего не меняли.
Проверьте по порядку: запущена ли служба базы, есть ли свободное место на диске, верны ли доступы. В большинстве случаев это первые два пункта, и оба проверяются за минуту.
Где лежат доступы к базе?
В файлах /bitrix/php_interface/dbconn.php и /bitrix/.settings.php — значения в них должны совпадать. Файлы находятся внутри сайта, поэтому их копии нельзя класть в публичные каталоги.
Ошибка появляется только в часы пик.
Похоже на исчерпание соединений или нехватку памяти у базы. Посмотрите лимит одновременных подключений и настройки памяти: неверно настроенная база падает и на мощном сервере, просто реже.
Перезапуск службы помогает на несколько минут.
Классический признак нехватки места или памяти: база поднимается, упирается в тот же предел и останавливается снова. Проверьте свободное место первым делом.
Сайт переехал на другой сервер и сразу эта ошибка.
Проверьте имя хоста базы: на новом сервере она может быть не на localhost. Также убедитесь, что пользователю разрешено подключаться с адреса сайта и что база действительно перенесена, а не создана пустой.
Можно ли переустановить продукт, чтобы починить?
Нет. Мастер установки предложит создать базу заново, и есть риск потерять данные. Ошибка подключения почти никогда не означает, что с сайтом что-то не так.