» » » Перенос базы данных с Денвера на сервер. Часть №3
logotip

Перенос базы данных с Денвера на сервер. Часть №3

Всем привет! Сегодня я буду показывать: как осуществить перенос базы данных с Денвера на сервер.

Кстати, очень много интересных интернет проектов создавались именно на Денвере.

Я уже говорил ранее, что блог seo-mayak.com тоже зародился на моем домашнем компьютере.  Такие вещи как:  правка шаблона, устранение всевозможных скрытых ссылок, проработка внешнего вида, установка некоторых плагинов, а также первые статьи — все это было сделано на локальном сервере, никуда не спеша.

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

perenos bazy c denvera

Но вечно «висеть» на Денвере сайт не может и в один прекрасный момент встает вопрос о том, как правильно перенести базу данных с локального сервера на реальный.

На самом деле не надо пугаться сего непонятного процесса, так как сложно в нем ничего нет. Просто внимательно следуем инструкции, которую я для удобства разбил по шагам и все обязательно у нас получится. Поехали!

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

Итак, мы выбрали хостинг, купили домен и выждали время, чтобы обновились DNC-сервера.

Шаг №1. Запускаем Денвер и копируем в адресную строку браузера следующий URL:

localhost/tools/phpmyadmin/

Откроется страница phpMyAdmin.

Шаг №2. Выбираем базу данных, которую мы будем переносить на сервер:

Baza0

Шаг №3. Переходим во вкладку — «Экспорт»:

Baza

Шаг №4. На открывшейся странице кликаем по строчке — «Отметить все»:

Baza1

Шаг №5. В самом низу страницы нажимаем кнопку — «Пошел»:

Baza2

И вот он момент истины. Перед нами открывается вся база данных в текстовом варианте:

Baza3

Шаг №6. Теперь нам надо выделить весь документ. Воспользуемся горячими клавишами Ctrl+A и копируем содержимое в буфер обмена:

Baza30

Использование горячих клавиш предохраняет от неполного копирования, так что советую ими пользоваться.

Шаг №7. Открываем текстовый редактор Notepad++ и создаем новый файл:

Baza29

Шаг №8. Вставляем скопированный документ в созданный файл (гор. клав. Ctrl+V):

Baza4

Шаг №9. Теперь нам надо обязательно проверить кодировку файла. Кодировка должна быть такая — «ANSI as UTF-8» и посмотреть ее можно в правом нижнем углу редактора. Если кодировка отличается, то заходим во вкладку «Кодировки» и нажимаем «Преобразовать в UTF-8 без ВОМ»:

Baza5

Шаг №10. Сохраняем документ на компьютер под именем «baza» или любым другим. Для этого можно создать отдельную папку, где в последствии буду хранится все файлы Вашего сайта:

Baza7

Шаг №11. Очень важный шаг, в котором нам надо заменить URL адреса локального сервера на URL купленного домена.

Итак, у меня локальный URL выглядит так:

localhost/mayak

А заменить мне его надо на:

seo-mayak.com

Для этого воспользуемся вкладкой «Поиск», где выбираем пункт «Замена»:

Baza8

В появившимся окне, в поле «Найти:» вписываем локальный URL адрес, а в поле «Заменить на:» вписываем свой домен и нажимаем кнопку «Заменить все»:

Baza9

Должно выскочить сообщение с количеством произведенных замен. У меня получилось аж 4219 замены:

Baza10

Шаг № 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:

Baza31

Шаг №14. На этом этапе нам потребуется подключить FTP клиент к нашему серверу и закачать созданный файл adress.php в корень сайта (в папку public_html):

Baza11

Шаг №15. Затем, в адресной строке браузера набираем следующее:

seo-mayak.com/adress.php

Конечно домен надо заменить на свой. Если мы все сделали правильно, то в браузере должна открыться страница, где будет прописан полный путь к Вашему сайту:

Baza33.1

Шаг №16. Возвращаемся к нашей базе данных, а точнее к файлу baza, снова выбираем вкладку «Поиск» и жмем пункт «Найти» или используем горячие клавиши Ctrl+F:

Baza34

В поле «Найти» вписываем слово — «localhost» и нажимаем кнопку «Искать далее»:

Baza35

Шаг № 17. Первое совпадение оставляем без изменений:

Baza36

Шаг №18. Второе совпадение у меня выглядело так:

'http://localhost/mayak'

Здесь мы просто убираем слово localhost, а вместо названия базы данных, в моем случаи «mayak» вписываем свой домен:

'http://домен.ru'

При аналогичном совпадении, действуем точно также.

Шаг №19. Если нашлось такое совпадение:

Baza14

Видно, что слеши наклонены влево, а не вправо, вот это и есть локальный URL. Нам надо заменить данный локальный URL на полный адрес, полученный на 15 шаге. Вот что должно получится:

Baza37

Надеюсь понятно, что если нашлось совпадение, где прописан полный путь, то и меняем на полный URL и запомните, что слеши должны быть одинарными и наклонены вправо.

Когда я первый раз переносил базу данных с Денвера на сервер, по-невнимательности я не поменял наклон слешей. Помню, как я потом ломал голову, потому что не мог загрузить изображения через редактор WordPress. Чтобы избежать ненужных проблем, лучше сделать сразу все правильно.

Шаг №20. Теперь нам надо поменять кодировку. Для этого снова воспользуемся функцией «Поиск -> Замена».

В поле «Найти:» вписываем — «cp1251», а в поле «Заменить на:» пишем — «utf8»:

Baza16

Шаг №21. Идем на свой хостинг, во вкладку «Базы данных MySQL»:

Baza38

Шаг №22. Придумываем название и создаем базу данных уже на хостинге:

Baza39.1

Шаг №23. Входим в MySQL и ищем созданную базу данных:

Baza40

Шаг №24. Идем во вкладку SQL и вставляем в поле содержимое файла baza:

Baza41

Шаг №25. Нажимаем кнопку «Ок»:

Baza24
Должно появится такое сообщение:

Baza25
На этом все! Если войти во вкладку «Структура», то нам явится база данных в виде таблицы:

Baza26
Итак, за 25 шагов мы осуществили перенос базы данных с Денвера на сервер, с чем я Вас и поздравляю.

Впереди Вас еще ждет заключительная часть из серии статей, посвященных Денверу, в которой мы завершим процесс переноса сайта на хостинг, так что советую обязательно подписаться на обновления блога.

P.S. Аналогичным образом можно перенести базу данных с хостинга на хостинг или с сервера на Денвер.

На сегодня у меня все. Как Вам статья?

С уважением, Виталий Кириллов

<<<  Установка ДенвераЧасть №1

<<<  Установка WordPress на ДенверЧасть №2

Часть №4. Перенос сайта с Денвера на хостинг >>>

Комментарии: 42

  1. Sasha:

    Ой, это, пожалуй, самое сложное…. У меня это получилось в свое время только с 3 раза))). Оказалось, причина была в несовпадении версий PHP MyAdmin. Так что все надо заранее перепроверять)

    Ответить
    • Виталий Кириллов:

      Для меня в первый раз тоже было сложновато все понять, теперь же я сложного вообще ничего не нахожу.

      Ответить
  2. senat:

    Всё доступно и понятно(даже такому как мне)))! Спасибо! А Вы не подскажите у меня всё равно выдаёт это-
    Предупреждение : 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? В любом случаи при переносе базы надо заменить все локальные адреса на новые. Все слеши должны быть наклонены в правую сторону.

      Ответить
      • senat:

        Ну вот такой файл:
        [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 адресах.

          Ответить
  3. senat:

    так что жа фсё таки с моей 15(долбаной)строкой??

    Ответить
    • Виталий Кириллов:

      Senat, я с такой проблемой не сталкивался, но как мне кажется дело вовсе не в этом файле, а в index.php, который должен отвечать за открытие главной страницы. Возможно где-то остался локальный адрес.

      Ответить
  4. senat:

    Скажите , у меня в файлах config.php слеши стоят в разные стороны : define(‘DIR_CATALOG’, ‘Z:\home\мой адрес\www/catalog/’); тут не надо менять?

    Ответить
    • Виталий Кириллов:

      Все адреса надо менять! Вы же видите, что URL локальный, так как он начинается с «Z» и слеши наклонены в разную сторону. Пока Вы не разберетесь с URL адресами, будут проблемы.

      Ответить
  5. senat:

    Такое ощущение что в файле index.php не хватает какой-то строки, тк строк с какими либо адресами нет вообще!!!!!

    Ответить
    • Виталий Кириллов:

      Если на Денвере все работало, то и на реальном сервере должно работать. Я советую Вам повторить процедуру переноса и внимательно проверить замену всех адресов, так как причина, как мне кажется, именно в этом.

      Ответить
  6. senat:

    Подскажите Виталий в созданном файле адрес.пшп в строках 4 и 8 какие пути надо прописывать(хотя бы для примера)

    Ответить
    • Виталий Кириллов:

      В файле adress.php ничего писать не надо. Его надо закинуть в корень и набрать в браузере Ваш домен/adress.php и Вам явиться полный адрес к вашему ресурсу.

      Ответить
  7. senat:

    я так и сделал но какая то странная строка у меня 1 2 3 4 5 6 7 8 9 10 11 12 13 Полный путь Рє каталогу: /home/xxxxxx/xxxxxx/senatshop.com/public_html/
    и файл начинается с 14 строки

    Ответить
    • Виталий Кириллов:

      Всегда меняйте кодировку файлов на UTF-8

      Ответить
  8. senat:

    С кодировкой порядок! Тут я это сразу отследил

    Ответить
    • Виталий Кириллов:

      Вот Ваш полный путь /home/xxxxxx/xxxxxx/senatshop.com/public_html/

      Ответить
  9. senat:

    Хочу перелить фсё по новой! А правда, что файлы лучше заливать во Фаилзилле, а не в тотал командер??

    Ответить
    • Виталий Кириллов:

      Я всегда Filezilla пользуюсь.

      Ответить
  10. Елена:

    Здравствуйте, Виталий!
    Подскажите, пожалуйста, чтобы переносить базу данных с компьютера на хостинг, база данных должна иметь название такое же как и доменное имя? Как тогда переименовать базу данных на денвере?

    Ответить
    • Виталий Кириллов:

      Елена, база вовсе не обязательно должна иметь название схожее с доменом. Назвать ее можно как хотите, но только английскими символами.

      Ответить
      • Елена:

        Спасибо, и еще вопрос. В шаге 14 у Вас сказано, что нужно перенести adress.php в корень сайта (в папку public_html). У меня нет папки public_html, просто папка имя домена, тогда туда файл закачивать, или создавать public_html?

        Ответить
        • Виталий Кириллов:

          Создавать ничего не надо, закачайте файл в корень сайта туда, где находятся папки wp-admin, wp-content и т.д.

          Ответить
  11. Елена:

    Ух… Получилось. Что бы я делала без Ваших подробно расписанных шагов? Спасибо большое!

    Ответить
    • Виталий Кириллов:

      Пожалуйста Елена!

      Ответить
  12. Елена:

    Перенесла все файлы с денвера на хостинг. Уже должен запустится и работать сайт? У меня выбивает Ошибка установки соединения с базой данных. Что это значит? Может, что-то неправильно сделала при установке БД?

    Ответить
    • Виталий Кириллов:

      Елена я с ходу не могу сказать, возможно где-то ошибка, немудрено! У меня тоже первый раз коряво все получилось.

      Ответить
      • Елена:

        Я все делала по шагам, должно было бы получиться. Может что-то не так поменяла в шагах 18-19. Как теперь проверить?

        Ответить
        • Виталий Кириллов:

          Елена повторите процедуру переноса и внимательно проверьте наклон слеша в URL, может где пропустили. Прямо глазами смотрите.

          Ответить
  13. Анна:

    Огромное спасибо, Виталий! Статья очень важная и нужная! Успехов и процветания тебе и твоему блогу)!

    Ответить
  14. Константин:

    Здравствуйте.
    Перед переносом сайта с денвера на хостинг решил переименовать базу данных, чтобы исключить дальнейшую путаницу с именами. Проделал следующее:
    — в файле wp-config.php посмотрел имя БД;
    — в папке DENWER\usr\local\mysql-5.5\data нашёл директорию с этим именем и переименовал её новым именем;
    — в файле wp-config.php вписал новое имя БД, сохранил;
    — попытался зайти на сайт обычным способом и получил длинный перечень ошибок;
    — поняв, что что-то пошло не так, отменил оба изменения, перезапустил денвер;
    — зашёл на сайт обычным способом, но открылся только шаблон, без всех изменений, которые вносил я (нет ни картинок, ни текста).
    Подскажите, где-что исправить, чтобы вернуть первоначальное состояние?

    Ответить
    • Виталий Кириллов:

      Константин, так вы БД на хостинг перенесли уже или у Вас на Денвере произошла эта поломка?

      Ответить
    • Виталий Кириллов:

      Константин, я конечно не могу точно сказать, но возможно, что своими действиями вы нарушили работу БД и теперь программа не может ее найти. На будущее, при переносе не надо ничего переименовывать, просто на хостинге создайте БД с новым именем и уже после переноса укажите новое имя в файле wp-config.php.
      Попробуйте зайти в БД и вручную просмотреть таблицу wp_pоsts. Если тексты остались, значит надо искать ошибку. Если нет, то дело плохо.

      Ответить
  15. Константин:

    Перенести не успел. Все действия проводились на денвере.

    Ответить
  16. Константин:

    Тексты остались. В каком направлении искать ошибку?

    Ответить
    • Виталий Кириллов:

      Попробуйте сделать копию бд и всех файлов по моей статье. Затем переустановите Денвер.

      Ответить
  17. Константин:

    Разобрался.
    Для тех, у кого возникнет схожая проблема, опишу свои действия.
    У меня в Настройки — Постоянные ссылки был выбран пункт «Название записи». Обнаружил, что при просмотре записей ВНУТРИ генерируемой ссылки (перед названием) почему дописывается www, и просмотр, естественно, невозможен. Изменил на «По умолчанию», для успокоения души ребутнул денвер — заработало. Снова выбрал «Название записи» — работает.
    Ну и славненько 🙂

    Ответить
  18. Диана:

    Пожалуйста, помогите понять, в чём проблема!
    Создала на Денвере весь свой сайт, под ключ, как говорится. Собралась перенести его на Хостинг, как первая же загвоздка — phpmyadmin не открывается, выбрасывает ошибку 500. Даже понятия нет, что теперь где искать, чтобы исправить. 🙁

    Ответить
    • Виталий Кириллов:

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

      Ответить
  19. Елена:

    Ну это стена какая-то!!! Ну КАК эта Ваша база попала в эту панель phpmyAdmin?????
    Все уроки именно так и начинаются, открываете и берете свою базу. Хоть бы кто-нибудь написал, как она туда попадает. У меня моя база данных, скачанная с моего хостинга лежит себе в папочке, куда я ее скопировала и уговорить ее переместиться в панель localhost/tools/phpmyadmin/ я не могу ну никак!!!! Третий день ищу!!!! КАРАУЛ!!!

    Ответить
  20. Владимир:

    Огромное спасибо за статью, а то у меня тестовый хостинг заказан у хостера Handyhost, и он уже 2 дня простаивает из-за отсутствия базы, а по Вашей инструкции всё получилось сделать)))

    Ответить

Оставить комментарий

Внимание комментатор! Прежде чем вставить: HTML, JavaScript или PHP код в свой комментарий, преобразуй его в html сущность!

Subscribe without commenting

» Подписаться на комментарии по RSS