Ошибка Database error: unable to connect to the database: could not connect to mysql
-
Здравствуйте! Я перенес работающий сайт с локалки на хостинг (движок Joomla) последней версии 1.5, и через некоторое время получил такое: если коротко в переводе, то «не подключается к базе данных». В PHPmyAdmin сигналит красным сообщение «нет привилегий» рядом с меню «создать базу данных». Связался с хостером, и пока все, что они смогли сделать, это принять заявку на устранение неполадок. Также порекомендовали обновить php до 5.2.2. от 4.4.4 – но проблема пока остается.
Должен сказать, что я никогда не любил Joomla, но послушался знакомого, который расхваливал эту CMS. Скорее всего, переключусь на Вордпресс, где можно свои веб-страницы заставить выглядеть и работать так, как хочется. Одним словом, больше контроля и гибкости.
ЭкспертБолее 9 лет в SEO, сайтостроении, контекстной рекламе. Имею опыт в арбитраже трафика и продажах через аффилейт-маркетинг. Люблю делиться опытом с читателями арбитражных СМИ.СодержаниеВероятно, что-то с правами доступа – не более. Скорее всего, вы неправильно вводите имя пользователя / пароль в базе данных. Возможно, что и имя сервера неправильное. Если дело не в этом, тогда проблема — в хостинге, файлах БД, кэше. Подробнее про матчасть и способах решения — далее.
Что такое Mysql Joomla
Как известно, Joomla – это система управления контентом. Как любая программа этого типа, она использует СУБД Mysql. Это достаточно гибкая система, поддерживающая большое количество таблиц. Работает на всех системах Майкрософт Виндовс и на большинстве платформ Unix. Mysql имеет несколько версий – на данный момент используется версия 8.0.11 или 8.0.22.
СУБД для чайников – штука не простая, так как требуются навыки SQL. Однако благодаря инструменту phpMyAdmin, имеющимся на любом уважающем себя хостинге, работать с Mysql могут все, даже те, кто не знает языка SQL. Одним словом, через phpMyAdmin удается легко администрировать сервер и просматривать базу.
Как решить проблему с ошибкой could not connect to mysql
Существует несколько способов решения ошибки unable to connect to the database: could not connect to mysql, которые зависят от конкретной причины ошибки.
Проверка базы данных через локальный сервер
Для начала сделайте экспорт БД – то есть, извлекаете содержимое из Mysql на свой ПК. В файловом менеджере хостера должна быть кнопка возле нужной базы данных «Экспорт». Жмете ее, выделяете все таблицы и экспортируете.
Дальнейшие действия:
- скачайте и установите на компьютер бесплатный локальный сервер ХАМРР – подробнее о том, как это сделать;
- зайдите через браузер в сервер и кликните на phpmyadmin;
- создайте новую базу и назовите файл test.php, any.php или как-то еще;
- зайдите в локалку через жесткий диск и создайте там папку с названием joomla и распакуйте в эту папку новую версию CMS 1.5.22;
- установите движок в браузере и заполните демо данные как на скрине;
- теперь откройте phpmyadmin хостинга и импортируйте БД.
Пришло время сделать тест сайта. Если он закроется с той же ошибкой, то надо разбираться с содержимым БД. А если будет работать нормально, вывод один – что-то не так у хостера.
Проблема с хостингом
Дело в том, что некоторые хостеры переназначают локальный хост, чтобы он указывал куда-то еще. Отсюда и возникает данная проблема.
Файл configuration.php
Проверьте и отредактируйте этот файл. По умолчанию на него выставлены права 444 – файл доступен только для чтения. Но если изменить права доступа на 644, то можно редактировать. Все трогать не надо – только параметры Database и configuration. Здесь все должно быть так, как на скрине.
Переустановка
Вы можете запустить/остановить службу mysql на сервере, войдя на сервер как пользователь root из интерфейса командной строки и выполнив следующие команды:
- служба mysql остановить;
- служба mysql запустить;
- служба mysql перезапустить.
Вы также можете использовать следующее, если вышеуказанное не работает:
- /etc/init.d/mysql старт;
- /etc/init.d/mysql стоп.
::Неоднократно сталкивался с такой ошибкой, не стоит паниковать. У меня проблема была в конфликте имени пользователя с БД. Конечно же, первопричины мне подсказала служба поддержки. Соответственно, рекомендую проверить и у себя.
Мой сайт работает на Joomla и, как оказалось, в файле configuration.php было прописано неправильно имя БД или пользователя, уже точно не помню. В любом случае советую перепроверить. Если не поможет, то можно прямо в панели управления задать для базы пароль из конфигурации на сайте.
::Привет. Ошибка указывает на сбои в соединении базы данных с самим сайтом. Я также сталкивалась с такой проблемой на Joomla. Первая часть ошибки говорит, что скрипы не выполнили подключение к серверу, содержащему базу данных. Следовательно, первое, что нужно протестить – верно ли прописано имя сервера и личные данные пользователя.
Что нужно сделать для восстановления работы сайта:
- отыскать и открыть configuration.php;
- проверить данные user и password к БД;
- перечень всех пользователей можно просмотреть в контрольной панели MySql.
::Как по мне, то ошибка не несет никакой точной информативности, поскольку только указывает на наличие сбоя. Да, есть проблема с подключением, но что именно не так, нужно искать самостоятельно. Для себя я уже выделила, как минимум, три причины ошибки:
- несоответствие в месте установки;
- наличие несостыковок в реестре;
- внутренний конфликт с установкой SQL Server.
::Всем привет! Чтобы устранить проблему, в первую очередь нужно провести точную диагностику, которая позволит разобраться, в чем первопричина ошибки. Для этого можно использовать последовательную цепочку действий:
- если заблокирована база данных, нужно проверить настройки подключения к ней;
- если базы нет, но установен SQL Server, восстановление БЗ возможно путем перезагрузки системы;
- в случае, когда нет базы и отсутствует SQL Server, причин может быть несколько: слишком длинный путь, не хватает прав админа, нужно сменить диск или убрать его сжатие.
Это проверенный алгоритм, который помогал мне не единожды избавиться от данной ошибки.
Вы должны быть авторизованы для ответа