Всем привет! Сегодня я буду показывать: как осуществить перенос базы данных с Денвера на сервер.
Кстати, очень много интересных интернет проектов создавались именно на Денвере.
Я уже говорил ранее, что блог seo-mayak.com тоже зародился на моем домашнем компьютере. Такие вещи как: правка шаблона, устранение всевозможных скрытых ссылок, проработка внешнего вида, установка некоторых плагинов, а также первые статьи — все это было сделано на локальном сервере, никуда не спеша.
В первых двух частях мы с Вами установили Денвер на компьютер, произвели необходимые настройки, а также научились устанавливать WordPress на Денвер, т.е мы полностью подготовили локальный сервер к работе.
Но вечно «висеть» на Денвере сайт не может и в один прекрасный момент встает вопрос о том, как правильно перенести базу данных с локального сервера на реальный.
На самом деле не надо пугаться сего непонятного процесса, так как сложно в нем ничего нет. Просто внимательно следуем инструкции, которую я для удобства разбил по шагам и все обязательно у нас получится. Поехали!
Инструкция по переносу базы данных с компьютера на сервер
Итак, мы выбрали хостинг, купили домен и выждали время, чтобы обновились DNC-сервера.
Шаг №1. Запускаем Денвер и копируем в адресную строку браузера следующий URL:
localhost/tools/phpmyadmin/
Откроется страница phpMyAdmin.
Шаг №2. Выбираем базу данных, которую мы будем переносить на сервер:
Шаг №3. Переходим во вкладку — «Экспорт»:
Шаг №4. На открывшейся странице кликаем по строчке — «Отметить все»:
Шаг №5. В самом низу страницы нажимаем кнопку — «Пошел»:
И вот он момент истины. Перед нами открывается вся база данных в текстовом варианте:
Шаг №6. Теперь нам надо выделить весь документ. Воспользуемся горячими клавишами Ctrl+A и копируем содержимое в буфер обмена:
Использование горячих клавиш предохраняет от неполного копирования, так что советую ими пользоваться.
Шаг №7. Открываем текстовый редактор Notepad++ и создаем новый файл:
Шаг №8. Вставляем скопированный документ в созданный файл (гор. клав. Ctrl+V):
Шаг №9. Теперь нам надо обязательно проверить кодировку файла. Кодировка должна быть такая — «ANSI as UTF-8» и посмотреть ее можно в правом нижнем углу редактора. Если кодировка отличается, то заходим во вкладку «Кодировки» и нажимаем «Преобразовать в UTF-8 без ВОМ»:
Шаг №10. Сохраняем документ на компьютер под именем «baza» или любым другим. Для этого можно создать отдельную папку, где в последствии буду хранится все файлы Вашего сайта:
Шаг №11. Очень важный шаг, в котором нам надо заменить URL адреса локального сервера на URL купленного домена.
Итак, у меня локальный URL выглядит так:
localhost/mayak
А заменить мне его надо на:
seo-mayak.com
Для этого воспользуемся вкладкой «Поиск», где выбираем пункт «Замена»:
В появившимся окне, в поле «Найти:» вписываем локальный URL адрес, а в поле «Заменить на:» вписываем свой домен и нажимаем кнопку «Заменить все»:
Должно выскочить сообщение с количеством произведенных замен. У меня получилось аж 4219 замены:
Шаг № 12. Далее, в текстовом редакторе Notepad++ создаем еще один новый файл, куда надо скопировать следующее:
<html> <head> <META http-equiv=Content-Type content="text/html; charset=Windows-1251"> <title>Путь к текущему каталогу от корня</title> </head> <body> <?php echo 'Полный путь к каталогу: '; echo $_SERVER['DOCUMENT_ROOT']; echo '/'; ?> </body> </html>
Шаг №13. Сохраняем данный файл в ранее созданную папку под именем adress.php:
Шаг №14. На этом этапе нам потребуется подключить FTP клиент к нашему серверу и закачать созданный файл adress.php в корень сайта (в папку public_html):
Шаг №15. Затем, в адресной строке браузера набираем следующее:
seo-mayak.com/adress.php
Конечно домен надо заменить на свой. Если мы все сделали правильно, то в браузере должна открыться страница, где будет прописан полный путь к Вашему сайту:
Шаг №16. Возвращаемся к нашей базе данных, а точнее к файлу baza, снова выбираем вкладку «Поиск» и жмем пункт «Найти» или используем горячие клавиши Ctrl+F:
В поле «Найти» вписываем слово — «localhost» и нажимаем кнопку «Искать далее»:
Шаг № 17. Первое совпадение оставляем без изменений:
Шаг №18. Второе совпадение у меня выглядело так:
'http://localhost/mayak'
Здесь мы просто убираем слово localhost, а вместо названия базы данных, в моем случаи «mayak» вписываем свой домен:
'http://домен.ru'
При аналогичном совпадении, действуем точно также.
Шаг №19. Если нашлось такое совпадение:
Видно, что слеши наклонены влево, а не вправо, вот это и есть локальный URL. Нам надо заменить данный локальный URL на полный адрес, полученный на 15 шаге. Вот что должно получится:
Надеюсь понятно, что если нашлось совпадение, где прописан полный путь, то и меняем на полный URL и запомните, что слеши должны быть одинарными и наклонены вправо.
Когда я первый раз переносил базу данных с Денвера на сервер, по-невнимательности я не поменял наклон слешей. Помню, как я потом ломал голову, потому что не мог загрузить изображения через редактор WordPress. Чтобы избежать ненужных проблем, лучше сделать сразу все правильно.
Шаг №20. Теперь нам надо поменять кодировку. Для этого снова воспользуемся функцией «Поиск -> Замена».
В поле «Найти:» вписываем — «cp1251», а в поле «Заменить на:» пишем — «utf8»:
Шаг №21. Идем на свой хостинг, во вкладку «Базы данных MySQL»:
Шаг №22. Придумываем название и создаем базу данных уже на хостинге:
Шаг №23. Входим в MySQL и ищем созданную базу данных:
Шаг №24. Идем во вкладку SQL и вставляем в поле содержимое файла baza:
Шаг №25. Нажимаем кнопку «Ок»:
Должно появится такое сообщение:
На этом все! Если войти во вкладку «Структура», то нам явится база данных в виде таблицы:
Итак, за 25 шагов мы осуществили перенос базы данных с Денвера на сервер, с чем я Вас и поздравляю.
Впереди Вас еще ждет заключительная часть из серии статей, посвященных Денверу, в которой мы завершим процесс переноса сайта на хостинг, так что советую обязательно подписаться на обновления блога.
P.S. Аналогичным образом можно перенести базу данных с хостинга на хостинг или с сервера на Денвер.
На сегодня у меня все. Как Вам статья?
С уважением, Виталий Кириллов
<<< Установка Денвера. Часть №1
<<< Установка WordPress на Денвер. Часть №2
Часть №4. Перенос сайта с Денвера на хостинг >>>
Ой, это, пожалуй, самое сложное…. У меня это получилось в свое время только с 3 раза))). Оказалось, причина была в несовпадении версий PHP MyAdmin. Так что все надо заранее перепроверять)
Для меня в первый раз тоже было сложновато все понять, теперь же я сложного вообще ничего не нахожу.
Всё доступно и понятно(даже такому как мне)))! Спасибо! А Вы не подскажите у меня всё равно выдаёт это-
Предупреждение : require_once (Z: \ главная \ мой адрес \ WWW / системы / startup.php) [ function.require однократной ]: не удалось открыть поток: Нет такого файла или каталога в / главная / ….. / Домены / мой адрес / public_html / index.php в строке 15
Фатальная ошибка : require_once () [ function.require ]: не требуется открытие ‘Z: \ главная \мой адрес \ WWW / системы / startup.php. (include_path =’ :/ USR / местные / Библиотека / PHP ‘) в / главная / ….. / Домены /мой адрес / public_html / index.php в строке 15
Что надо сдел в этой 15 страке?????
Что за файл такой startup.php? В любом случаи при переносе базы надо заменить все локальные адреса на новые. Все слеши должны быть наклонены в правую сторону.
Ну вот такой файл:
[php]<?php
// Error Reporting
error_reporting(E_ALL);
// Check Version
if (version_compare(phpversion(), ‘5.2.0’, ‘ $value) {
$data[clean($key)] = clean($value);
}
} else {
$data = stripslashes($data);
}
return $data;
}
$_GET = clean($_GET);
$_POST = clean($_POST);
$_REQUEST = clean($_REQUEST);
$_COOKIE = clean($_COOKIE);
}
if (!ini_get(‘date.timezone’)) {
date_default_timezone_set(‘UTC’);
}
// Windows IIS Compatibility
if (!isset($_SERVER[‘DOCUMENT_ROOT’])) {
if (isset($_SERVER[‘SCRIPT_FILENAME’])) {
$_SERVER[‘DOCUMENT_ROOT’] = str_replace(‘\\’, ‘/’, substr($_SERVER[‘SCRIPT_FILENAME’], 0, 0 — strlen($_SERVER[‘PHP_SELF’])));
}
}
if (!isset($_SERVER[‘DOCUMENT_ROOT’])) {
if (isset($_SERVER[‘PATH_TRANSLATED’])) {
$_SERVER[‘DOCUMENT_ROOT’] = str_replace(‘\\’, ‘/’, substr(str_replace(‘\\\\’, ‘\\’, $_SERVER[‘PATH_TRANSLATED’]), 0, 0 — strlen($_SERVER[‘PHP_SELF’])));
}
}
if (!isset($_SERVER[‘REQUEST_URI’])) {
$_SERVER[‘REQUEST_URI’] = substr($_SERVER[‘PHP_SELF’], 1);
if (isset($_SERVER[‘QUERY_STRING’])) {
$_SERVER[‘REQUEST_URI’] .= ‘?’ . $_SERVER[‘QUERY_STRING’];
}
}
// Helper
require_once(DIR_SYSTEM . ‘helper/json.php’);
require_once(DIR_SYSTEM . ‘helper/utf8.php’);
// Engine
require_once(DIR_SYSTEM . ‘engine/action.php’);
require_once(DIR_SYSTEM . ‘engine/controller.php’);
require_once(DIR_SYSTEM . ‘engine/front.php’);
require_once(DIR_SYSTEM . ‘engine/loader.php’);
require_once(DIR_SYSTEM . ‘engine/model.php’);
require_once(DIR_SYSTEM . ‘engine/registry.php’);
// Common
require_once(DIR_SYSTEM . ‘library/cache.php’);
require_once(DIR_SYSTEM . ‘library/url.php’);
require_once(DIR_SYSTEM . ‘library/config.php’);
require_once(DIR_SYSTEM . ‘library/db.php’);
require_once(DIR_SYSTEM . ‘library/document.php’);
require_once(DIR_SYSTEM . ‘library/encryption.php’);
require_once(DIR_SYSTEM . ‘library/image.php’);
require_once(DIR_SYSTEM . ‘library/language.php’);
require_once(DIR_SYSTEM . ‘library/log.php’);
require_once(DIR_SYSTEM . ‘library/mail.php’);
require_once(DIR_SYSTEM . ‘library/pagination.php’);
require_once(DIR_SYSTEM . ‘library/request.php’);
require_once(DIR_SYSTEM . ‘library/response.php’);
require_once(DIR_SYSTEM . ‘library/session.php’);
require_once(DIR_SYSTEM . ‘library/template.php’);
?>
[/php]
Адреса я поменял, как Вы учили),а вот слеши менять везде или только на адресах??
Только в URL адресах.
так что жа фсё таки с моей 15(долбаной)строкой??
Senat, я с такой проблемой не сталкивался, но как мне кажется дело вовсе не в этом файле, а в index.php, который должен отвечать за открытие главной страницы. Возможно где-то остался локальный адрес.
Скажите , у меня в файлах config.php слеши стоят в разные стороны : define(‘DIR_CATALOG’, ‘Z:\home\мой адрес\www/catalog/’); тут не надо менять?
Все адреса надо менять! Вы же видите, что URL локальный, так как он начинается с «Z» и слеши наклонены в разную сторону. Пока Вы не разберетесь с URL адресами, будут проблемы.
Такое ощущение что в файле index.php не хватает какой-то строки, тк строк с какими либо адресами нет вообще!!!!!
Если на Денвере все работало, то и на реальном сервере должно работать. Я советую Вам повторить процедуру переноса и внимательно проверить замену всех адресов, так как причина, как мне кажется, именно в этом.
Подскажите Виталий в созданном файле адрес.пшп в строках 4 и 8 какие пути надо прописывать(хотя бы для примера)
В файле adress.php ничего писать не надо. Его надо закинуть в корень и набрать в браузере Ваш домен/adress.php и Вам явиться полный адрес к вашему ресурсу.
я так и сделал но какая то странная строка у меня 1 2 3 4 5 6 7 8 9 10 11 12 13 Полный путь Рє каталогу: /home/xxxxxx/xxxxxx/senatshop.com/public_html/
и файл начинается с 14 строки
Всегда меняйте кодировку файлов на UTF-8
С кодировкой порядок! Тут я это сразу отследил
Вот Ваш полный путь /home/xxxxxx/xxxxxx/senatshop.com/public_html/
Хочу перелить фсё по новой! А правда, что файлы лучше заливать во Фаилзилле, а не в тотал командер??
Я всегда Filezilla пользуюсь.
Здравствуйте, Виталий!
Подскажите, пожалуйста, чтобы переносить базу данных с компьютера на хостинг, база данных должна иметь название такое же как и доменное имя? Как тогда переименовать базу данных на денвере?
Елена, база вовсе не обязательно должна иметь название схожее с доменом. Назвать ее можно как хотите, но только английскими символами.
Спасибо, и еще вопрос. В шаге 14 у Вас сказано, что нужно перенести adress.php в корень сайта (в папку public_html). У меня нет папки public_html, просто папка имя домена, тогда туда файл закачивать, или создавать public_html?
Создавать ничего не надо, закачайте файл в корень сайта туда, где находятся папки wp-admin, wp-content и т.д.
Ух… Получилось. Что бы я делала без Ваших подробно расписанных шагов? Спасибо большое!
Пожалуйста Елена!
Перенесла все файлы с денвера на хостинг. Уже должен запустится и работать сайт? У меня выбивает Ошибка установки соединения с базой данных. Что это значит? Может, что-то неправильно сделала при установке БД?
Елена я с ходу не могу сказать, возможно где-то ошибка, немудрено! У меня тоже первый раз коряво все получилось.
Я все делала по шагам, должно было бы получиться. Может что-то не так поменяла в шагах 18-19. Как теперь проверить?
Елена повторите процедуру переноса и внимательно проверьте наклон слеша в URL, может где пропустили. Прямо глазами смотрите.
Огромное спасибо, Виталий! Статья очень важная и нужная! Успехов и процветания тебе и твоему блогу)!
Здравствуйте.
Перед переносом сайта с денвера на хостинг решил переименовать базу данных, чтобы исключить дальнейшую путаницу с именами. Проделал следующее:
— в файле wp-config.php посмотрел имя БД;
— в папке DENWER\usr\local\mysql-5.5\data нашёл директорию с этим именем и переименовал её новым именем;
— в файле wp-config.php вписал новое имя БД, сохранил;
— попытался зайти на сайт обычным способом и получил длинный перечень ошибок;
— поняв, что что-то пошло не так, отменил оба изменения, перезапустил денвер;
— зашёл на сайт обычным способом, но открылся только шаблон, без всех изменений, которые вносил я (нет ни картинок, ни текста).
Подскажите, где-что исправить, чтобы вернуть первоначальное состояние?
Константин, так вы БД на хостинг перенесли уже или у Вас на Денвере произошла эта поломка?
Константин, я конечно не могу точно сказать, но возможно, что своими действиями вы нарушили работу БД и теперь программа не может ее найти. На будущее, при переносе не надо ничего переименовывать, просто на хостинге создайте БД с новым именем и уже после переноса укажите новое имя в файле wp-config.php.
Попробуйте зайти в БД и вручную просмотреть таблицу wp_pоsts. Если тексты остались, значит надо искать ошибку. Если нет, то дело плохо.
Перенести не успел. Все действия проводились на денвере.
Тексты остались. В каком направлении искать ошибку?
Попробуйте сделать копию бд и всех файлов по моей статье. Затем переустановите Денвер.
Разобрался.
Для тех, у кого возникнет схожая проблема, опишу свои действия.
У меня в Настройки — Постоянные ссылки был выбран пункт «Название записи». Обнаружил, что при просмотре записей ВНУТРИ генерируемой ссылки (перед названием) почему дописывается www, и просмотр, естественно, невозможен. Изменил на «По умолчанию», для успокоения души ребутнул денвер — заработало. Снова выбрал «Название записи» — работает.
Ну и славненько 🙂
Пожалуйста, помогите понять, в чём проблема!
Создала на Денвере весь свой сайт, под ключ, как говорится. Собралась перенести его на Хостинг, как первая же загвоздка — phpmyadmin не открывается, выбрасывает ошибку 500. Даже понятия нет, что теперь где искать, чтобы исправить. 🙁
Диана, у меня такого не было, обычно база данных работает исправно. Даже не знаю, что Вам посоветовать.
Ну это стена какая-то!!! Ну КАК эта Ваша база попала в эту панель phpmyAdmin?????
Все уроки именно так и начинаются, открываете и берете свою базу. Хоть бы кто-нибудь написал, как она туда попадает. У меня моя база данных, скачанная с моего хостинга лежит себе в папочке, куда я ее скопировала и уговорить ее переместиться в панель localhost/tools/phpmyadmin/ я не могу ну никак!!!! Третий день ищу!!!! КАРАУЛ!!!
Огромное спасибо за статью, а то у меня тестовый хостинг заказан у хостера Handyhost, и он уже 2 дня простаивает из-за отсутствия базы, а по Вашей инструкции всё получилось сделать)))