Как переименовать базу данных сайта в Joomla 3

Для того, чтобы переименовать базу данных сайта, работающего под CMS Joomla 3 нужно учесть некоторые, кажущиеся незначительным, но играющие важную роль, делали. В этой статье подробно рассмотрено, как произвести переименование базы данных без создания её дубля или ещё каких хитростей. Для того понадобится доступ к базе данных (для изменения её имени) и к файловому менеджеру (для внесения правок в конфиг-файл Joomla).



Почему нельзя поменять имя базы данных в админке Joomla

При попытке поменять имя базы данных в основных настройках Joomla через админку, ничего не получается сделать. Рассмотрим подробнее, почему.

Откроем в админке вкладку «Сервер» общих настроек Joomla. В разделе «Настройка базы данных» поменяем значение поля «Имя базы данных» и попробуем сохранить изменения:

поменяем значение поля «Имя базы данных»

Если базы данных с новым именем нет на сервере (а её нет, никто её не создавал). К тому же у этой новой базы данных должны совпадать имя пользователя, его пароль и префикс таблиц... В общем, базы данных нет и Joomla выдаст ошибку:

Ошибка
Не удаётся подключиться к базе данных

Что вполне логично. =)

Не удаётся подключиться к базе данных

Поэтому решить "в лоб" задачу переименования базы данных не выйдет.

Почему переименованную базу данных нельзя прописать в админке

Выше было описано, чего делать можно, но что не имеет смысла, так как не получится.

Теперь идём на сервер и переименовываем базу данных, например, используя ISP-панель сервера, как описано в → этой статье.

После того, как имя БД изменено, то при попытке загрузить админку, получим то, что сайт (и админка) перестали работать. Потому, что они пытаются получить доступ к базе данных со старым именем и у них это конечно не получается.

получить доступ к базе данных со старым именем

Вылазит такая вот ошибка:

Error displaying the error page

Или нечто подобное.

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

Вносим изменения в конфиг-файл configuration.php Joomla напрямую

Всё что осталось, — это прописать имя новой базы данных в конфиг Joomla. Для этого нам потребуется доступ к файлу configuration.php для внесения в него правок. Можно воспользоваться ISP-manager и отредактировать файл в нём или другим способом (по ftp, ssh или ещё каким способом).

Важно!

Ещё один подвох Joomla в том, что она выставляет права на файл configuration.php (chmod) 444 [-r--r--r--]. А этих прав достаточно только для чтения фала, но никак не для записи в него. Поэтому первым делом выставляем chmod 644 [-rw-r--r--] и только после этого начинаем его править.

Для того, чтобы найти файл configuration.php нужно зайти в корневую директорию сайта (не сервера, а именно сайта), — он там. Точно! =)

Итак, найдя configuration.php и выставив перво-наперво ему chmod 644 [-rw-r--r--], открываем его и ищем строчку

	public $db = 'old-name-database';

У меня в конфиге она 18-я. Не думаю, что она будет слишком далеко от начала. Наша задача поменять старое имя на новое и сохранить configuration.php с новым именем базы данных:

	public $db = 'new-name-database';

Ура! Всё заратало! =)

Если всё сделано правильно, то сайт и админка сайта начинают снова открываться и работать.

Вроде написал про все подводные камни при изменении базы данных сайта. Если что-то не получается, значит нужно внимательно проверить совпадение фактического имени БД и того, что прописано в конфиге. Должно получиться. На самом деле, всё очень просто! =)

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню