#Что означает ошибка
Database connection error Error displaying the error page
Joomla подключается к базе данных по параметрам из configuration.php: $host, $user, $password, $db, $dbprefix. Если подключение не удаётся, сайт показывает «Database connection error» (или «Error displaying the error page: Application Instantiation Error»). Проблема практически всегда либо в этих параметрах, либо в самом сервере БД. Поэтому сначала проверьте вход вручную, затем службу, затем права.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Неверные данные в configuration.phpХост, логин, пароль или имя БД. | После переноса или смены пароля. | Исправьте параметры. |
| Сервер БД недоступенMySQL не запущен или недоступен по сети. | Подключение по CLI тоже не проходит. | Запустите службу. |
| Пользователь БД без правНет привилегий на базу. | Access denied for user. | Выдайте права GRANT. |
| Повреждены таблицыТаблицы повреждены или префикс изменён. | Table doesn't exist. | Проверьте префикс, REPAIR. |
#Пошаговое решение
- Откройте configuration.phpОткройте журнал ошибок сайта в панели хостинга или через SSH и найдите строку около времени появления
Database connection error:Access denied,Unknown database,Connection refusedилиToo many connections. Запишите конкретное сообщение, не копируя пароль базы. Другая ошибка на той же странице может быть вторичной, потому что Joomla сама не может показать страницу ошибки при сбое базы. - Проверьте вход вручнуюВ файловом менеджере панели откройте
configuration.phpJoomla и найдите поляhost,user,db,dbprefixи параметр пароляpassword. Сравните их с реквизитами активной базы в панели «Базы данных». Никогда не размещайте весьconfiguration.phpв общедоступном каталоге и не публикуйте значение пароля в запросе поддержки. Перед исправлением сохраните копию конфигурации. - Проверьте службу MySQLВ панели хостинга откройте раздел «Базы данных» и проверьте, что нужная база существует, а пользователь назначен именно ей. Если сервер базы отдельный, сравните hostname и разрешённые адреса подключения. Для опытного администратора с SSH возможна проверка
mysql -h РЕАЛЬНЫЙ_ХОСТ -u РЕАЛЬНЫЙ_ПОЛЬЗОВАТЕЛЬ -p РЕАЛЬНАЯ_БАЗА -e "SELECT 1;"; замените примеры и вводите пароль только в интерактивном приглашении. - Проверьте праваЕсли MySQL/MariaDB остановлена и вы управляете сервером, выполните
sudo systemctl status mysql --no-pagerилиmariadb— название зависит от дистрибутива. При остановке проверьтеsudo journalctl -u mysql -n 80 --no-pager, свободное местоdf -hи недавние изменения. Перезапуск в продуктивной среде требует окна обслуживания; на обычном хостинге обратитесь к провайдеру. - Проверьте префикс таблицПри
Access deniedпроверьте точную пару пользователь/хост, а не выдавайте права всем. В phpMyAdmin или панели проверьте существующие разрешения пользователя на конкретную базу. КомандаGRANT ALL PRIVILEGESиз универсального примера может чрезмерно расширить полномочия; сначала согласуйте необходимый набор прав с владельцем приложения и сохраните текущие настройки. Не меняйте права без подтверждённого диагноза. - Проверьте путь и права файлаЕсли база есть, но таблиц не видно, сравните префикс
dbprefixв конфигурации Joomla с названиями таблиц в phpMyAdmin. При несовпадении после переноса проверьте дамп базы и выполнявшиеся изменения. Не переименовывайте таблицы и не меняйте префикс на рабочем сайте без полной резервной копии файлов и базы: ошибка может затронуть пользователей и расширения. - Включите отладкуПосле исправления подключений откройте сайт и
/administrator, проверьте страницу с материалами и запись тестового черновика (при наличии полномочий). В журнале не должно быть нового отказа в соединении. Если ошибка повторяется под нагрузкой, проверьте ограничения подключений и доступность БД с администратором сервера, а не повышайте лимиты вслепую. - Проверьте таблицыЕсли восстановить подключение не удалось, подготовьте для поддержки точное время, имя сервера БД без паролей, текст исключения и результат проверки наличия базы. Сообщите, выполнялся ли перенос хостинга или изменение настроек PHP. До выяснения причины не запускайте SQL-команды очистки, восстановления таблиц или переустановку Joomla: они могут уничтожить данные.
- Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
После диагностики верните настройки отладки: показ ошибок на публичном сайте выдаёт структуру сервера. Если при переносе сайта были изменены имя пользователя или префикс, правка параметров решит проблему без восстановления данных. Для версий Joomla 4 и 5 требуется PHP 8.1 и новее; несовместимая версия PHP тоже приводит к ошибке «Error displaying the error page», поэтому проверьте версию в панели хостинга. Документация — .