Как залить сервер MySQL на хостинг, чтобы не залить соседей

Как залить сервер MySQL на хостинг, чтобы не залить соседей Хостинг
Содержание
  1. Что именно необходимо переносить?
  2. Почему?
  3. Перенос файлов
  4. Импорт базы данных с компьютера на сервер.
  5. Перенос БД на примере MySQL
  6. Перенаправление всех соединений к localhost:3306 — старый сервер на новый сервер
  7. Mysql workbench и navicat
  8. Альтернативное по
  9. Второй вариант переноса, а точнее загрузки дампа через ssh.
  10. Выключение старого сервера
  11. Запуск сервера субд
  12. Импорт базы данных mysql через консоль (замена существующей)
  13. Импорт в формате xml
  14. Импорт и создание базы данных mysql через консоль
  15. Импорт файла дампа mysql на новый сервер
  16. Как перенести базу данных mysql на хостинг spaceweb? — раздел помощи — spaceweb
  17. Как это работает?
  18. Команда mysqldump – резервирование бд
  19. Команда source mysql – восстановление резервной копии бд
  20. Настройка репликации master-master
  21. Настройка репликации master-slave
  22. Небольшая фишка с прилинковкой домена
  23. Ограниченные ресурсы сервера
  24. Перенос баз данных и пользователей mysql на новый сервер
  25. Перенос базы данных на реальный сервер mysql
  26. Перенос всего mysql
  27. Перенос дампа mysql на новый сервер
  28. Перенос сайта на другой хостинг в 7 шагов
  29. Подготовка
  30. Предыдущие показатели оптимизации блога
  31. Проверка импорта
  32. Создание дампа на старом хостинге
  33. Текущие показатели оптимизации блога
  34. Шаг 1. делаем резервную копию всего сайта
  35. Шаг 1. добавить домен в админку нового хостинга
  36. Шаг 2. загружаем и распаковываем сайт
  37. Шаг 4. создать базу данных на другом хостинге
  38. Шаг 5. импорт базы в разных форматах
  39. Шаг 5. импортировать базу данных на новый хостинг
  40. Шаг 7. проверить работу файлов и базы данных
  41. Шаг 8. изменить dns записи домена
  42. Экспорт базы данных mysql через консоль
  43. Экспорт базы данных.
  44. Экспортируем базу данных mysql в файл дампа
  45. Заключение

Что именно необходимо переносить?

В своей статье «Что такое сайт?» я рассказывал о трех компонентах каждого интернет ресурса. При переносе мы должны поработать с каждым из них.

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

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

В-третьих, потребуется перенести все данные (файлы, базы данных) со старого хостинга на новый.

Это вкратце, теперь давайте рассмотрим весь процесс в подробностях. Максимум, для переноса потребуется 8 шагов. Я буду описывать процесс исходя из предположения, что у вас уже есть новый хостинг, если у вас его еще нет, то сначала выберите подходящий и зарегистрируйте в нем аккаунт, порекомендовать могу один из этих (ссылки партнерские): Timeweb или Sprinthost.

Почему?

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

Перенос файлов

Лучший способ через ssh при помощи rsync:

Импорт базы данных с компьютера на сервер.

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

Перенос БД на примере MySQL

На обоих машинах открываем порт сервера MySQL в мир:

[mysqld]
...
bind-address            = * #127.0.0.1
...

Я напишу пример как я делаю бекапы каждый день, вырезка из logrotate.d:

#!/bin/bash
CMD="mysqldump --defaults-file=/root/my.cnf --no-create-info=FALSE --order-by-primary=FALSE --force=FALSE --no-data=FALSE --tz-utc=TRUE --flush-privileges=FALSE --compress=TRUE --replace=FALSE --host=localhost --insert-ignore=FALSE --extended-insert=TRUE --quote-names=TRUE --hex-blob=FALSE --complete-insert=FALSE --add-locks=TRUE --port=3306 --disable-keys=TRUE --delayed-insert=FALSE --create-options=TRUE --delete-master-logs=FALSE --comments=TRUE --default-character-set=utf8 --max_allowed_packet=1G --flush-logs=FALSE --dump-date=TRUE --lock-tables=TRUE --allow-keyw
ords=FALSE --events=FALSE --databases --routines"

for i in $(mysql --defaults-file=/root/my.cnf --batch --skip-column-names -e 'SHOW DATABASES' | grep -v '^information_schema$'); do
	if [ ! -e /srv/dumps/$i ]; then mkdir -m 700 /srv/dumps/$i; fi
		$CMD $i | gzip -c > /srv/dumps/$i/$i.sql.gz
done

/root/my.cnf

Перенаправление всех соединений к localhost:3306 — старый сервер на новый сервер


Довольно просто, используем ssh tunnel (предварительно остановив mysql):

Mysql workbench и navicat

Так же существует довольно много приложений, для взаимодействия с базами данных MySQL, самые популярные из них — MySQL Workbench и Navicat.

MySQL Workbench — один из самых популярных инструментов, кроме, стандартных возможностей импорта/экспорта баз данных, он может представлять модель базы данных в графическом виде, имеет отличный функционал, по созданию связей между таблицами, самый большой его плюс, он бесплатный.

Альтернативное по

Я обещал по ходу изучения MySQL знакомить вас с различным программным обеспечением для администрирования СУБД. Так вы сможете расширить свой «профессиональный» кругозор, и выбрать ту программу, которая больше всего подходит под ваши потребности и род деятельности.

Второй вариант переноса, а точнее загрузки дампа через ssh.

В принципе можно воспользоваться командой :

mysql -uroot -proot_pass db_name < db_name.sql

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

Самым лучшим выходом из ситуации будет ипморт напрямую через cli MySQL :

  • Заходим в MySQL:
    mysql -uLogin -pPassword
        

    (вместо Login и Password вводим данные для авторизации пользователя БД)

  • Выбираем базу данных:
    use db_name
        

    (вместо db_name вводим название БД)

  • Делаем импорт файла в выбранную бд:
    source db_name.sql
        

    (вместо db_name.sql вводим название файла дампа БД или путь до файла, если вы находидест не в той папке, где лежит файл)

Выключение старого сервера

После того как получилась конструкция мастер-мастер, можно перенацелить приложение, изменив его настройки или изменить A запись в DNS.

Когда к старому серверу кончатся обращения (посмотреть — mysql> show full processlist;, можно остановить слейв на новом сервере:

Всё. MySQL теперь работает на новом сервере, приложение ходит в него. Старый можно выключать.

Запуск сервера субд

Многие пользователи не знают, что делать с экземпляром СУБД после его инсталляции на свой ПК. Тут главное запомнить (а лучше записать) путь, куда во время установки распаковываются файлы сервера.

Импорт базы данных mysql через консоль (замена существующей)

Для начала необходимо авторизоваться в командной строке MySQL:

Импорт в формате xml

Если вы делаете импорт XML, выбираете нужную платформу, в нашем случае это WordPress. Через кнопку обзор выбираем файл экспорта (wordpress.2022-04-03.xml). Можете осуществить привязку к новому автору и нажать «Отправить». На выходе мы получим все наши статьи, рубрики, страницы в неизменном виде.

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

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

Для начала необходимо авторизоваться в консоли MySQL:

Импорт файла дампа mysql на новый сервер

После того как файл дампа был перенесен, нужно выполнить следующую команду для импорта всех баз данных в MySQL.

Как перенести базу данных mysql на хостинг spaceweb? — раздел помощи — spaceweb

Для переноса базы данных MySQL на хостинг SpaceWeb необходимо в первую очередь сохранить содержимое БД в файл. То есть, сделать дамп (dump) базы данных у прежнего хостинг-провайдера. Как это делается, можно уточнить в службе поддержки прежнего провайдера. Один из вариантов — использовать такую команду по SSH:

mysqldump -Q --max-allowed-packet=1M --extended-insert=false -u dbuser -p dbname > dump.sql

После этого необходимо через панель управления раздел «Базы данных» создать базу данных на нашем хостинге. 

Затем дамп следует загрузить в созданную базу. Сделать это можно тремя способами:

  1. С помощью формы «импортировать базу из файла» в разделе «Базы данных». Форма расположена в меню Как залить сервер MySQL на хостинг, чтобы не залить соседей напротив нужной базы данных. Результаты импорта придут на административный ящик аккаунта.
  2. С помощью phpMyAdmin (также находится в разделе «Базы данных» у каждой базы).
    В phpMyAdmin нужно перейти на вкладку «Импорт». По нажатию на кнопку «Обзор» можно выбрать файл с дампом базы данных на локальном компьютере. Для импорта нужно нажать кнопку «Ок». Через некоторое время программа сообщит об успешном импорте, или подробно напишет об ошибках и их причинах.
  3. С помощью команд шелла (SSH). Если по тарифу хостинга предоставляется доступ по SSH, то можно загрузить дамп в базу с помощью следующей команды:

    mysql -uDBlogin -pDBpass DBname < backup.sql

    где backup.sql — это имя дампа, DBlogin, DBpass и DBname это параметры подключения к базе, созданной на нашем хостинге — логин, пароль и название базы соответственно.
    Команду необходимо выполнять прямо из командной строки, в базу заходить не надо. Перед выполнением команды, файл с дампом необходимо загрузить на аккаунт на нашем хостинге.


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

Как это работает?

Как можно догадаться, перенос БД — это два основных действия, проводимые непосредственно над БД:

  • создание резервной копии БД на исходном сервере;
  • восстановление БД из резервной копии на целевом сервере.

По соображениям безопасности для БД MySQL нельзя просто скопировать бинарные файлы БД. Поэтому для таких целей предусмотрены инструменты экспорта/импорта, которые можно проводить при помощи специальных команд и/или утилит. Таковыми являются команды mysqldump и source соответственно.

Есть ещё один инструмент для переноса БД — утилита mysqldbcopy. Она позволяет буквально одной командой скопировать объекты БД с одного сервера на другой. Утилита mysqlbdcopy является более удобным вариантом, однако её рекомендуется использовать опытным пользователям и администраторам.

Команда mysqldump – резервирование бд

Данная команда обычно доступна в пакете mysql-client. Конечно, в зависимости от используемого дистрибутива Linux наименование пакета может несколько отличаться. У команды mysqldump синтаксис несложный и выглядит следующим образом:

musqldump [options] [db_name [tbl_name …]]

На хостинг-площадках команда mysqldump очень часто используется для автоматического (по расписанию) резервирования БД пользователей. Именно такие резервные копии БД и можно использовать для переноса (восстановления/импорта) на другой хостинг.

Команда mysqldump располагает внушительным арсеналом опций, это довольно универсальная команда. Ознакомиться более подробно можно на страницах интерактивного руководства, используя команду man mysqldump. Для того, чтобы сделать дамп БД (т. е. зафиксировать содержимое и состояние её таблиц в текстовом файле) нужно выполнить команду:

$ mysqldump -u john -p dbname > ~/backups/dbname_back-$(date  %d%m%y).dump

В результате будет создан файл dbname_back-130319.dump в подкаталоге backups домашней директории текущего пользователя. Ключи -u и -p служат для задания имени и пароля пользователя-клиента MySQL соответственно. Пароль непосредственно в команде mysqldump указывать не стоит — она автоматически предложит его ввести в процессе выполнения.

В качестве dbname выступает имя требуемой БД. Конструкция $(date %d%m%y) в имени файла позволяет задействовать команду date непосредственно в команде mysqldump для присутствия в имени файла даты создания дампа БД. Символ «>» используется для перенаправления стандартного потока STD_OUT (т. е. результата) команды mysqldump непосредственно в файл.На этом, собственно, и всё — дамп БД создан. Теперь его можно использовать для восстановления на целевом сервере.

Команда source mysql – восстановление резервной копии бд

Команда source является внутренней инструкцией языка SQL, в отличии от команды mysqldump, которая реализует возможности отдельной одноимённой утилиты. С помощью команды source выполняется импорт таблиц из дампа в заранее подготовленную БД. Таким образом, для восстановления на целевом сервере требуемой ДБ необходимо:

  • создать пустую БД;
  • выбрать созданную БД для использования;
  • аполнить выбранную БД содержимым из файла-дампа, сознанного ранее командой mysqldump.

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

Настройка репликации master-master

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

Теперь сервера работают как мастер-мастер. В таком режиме лучше всегда писать только в одну голову. Если писать в обеи — может возникнуть неконсистентность. Мастер-мастер у MySQL работает не всегда хорошо.

Настройка репликации master-slave

Для того чтобы работала репликация в конфиге mysql надо добавить опцию записи binlog-ов. В них будут записываться изменения которые происходят в базе в бинарном формате. После этого эти изменения разъезжаются по репликам и тем самым поддерживается консистентное состояние данных.

Включаем binlog в my.cnf:

  • log-bin — имя файла или путь до файлов с бинлогами. Если версия 5.6 или ниже — нужно указывать имя файла (как выше в примере), бинлоги будут хранится в data-директории. MySQL 5.7 и выше может принимать значения с путем, например /tmp/mysql-binlog
  • expire-logs-days — длина логов в днях. За это время надо поднять и запустить слейв.
  • max-binlog-size — максимальный размер логов. Если достигнут максимум, то логи будут ротироваться, не смотря на expire-logs-days
  • server-id — id-сервера в реплике. должен быть разным на разных серверах

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

Теперь сделаем бэкап базы с помощью innobackupex (это утилита от Percona которая делает бэкап с указанием позиции в bin-логе) в директорию /tmp/mysqlbackup. Здесь инструкция по инсталяции innobackupex.

Можно запускать в докер-контейнере:

В конце вывода будет что-то типа:

Нам нужны filename и position. Запоминаем их, они пригодятся во время развертывания этого бэкапа на новом сервере. Эти значения также есть в файле xtrabackup_binlog_info в папке с бэкапом.

Копируем папку с бэкапом на новый сервер. Например rsync-ом (предварительно надо сделать доступ на новый сервер со старого по ssh):

Небольшая фишка с прилинковкой домена

Предварительно я все-таки решил перестраховаться. Проверил работу всего этого действа у себя на локальном сервере и на прилинкованном домене. Удобно, что на хостинге доступна замечательная фишка, позволяющая вручную прилинковать тестовый домен, третьего уровня к директории папки основного домена.

Эта функция позволяет зайти на тестовый домен третьего уровня, увидеть все ли работает правильно и как отображается сайт. Убедившись в этом, я точно был уверен в полном переносе блога, после смены DNS.

Ограниченные ресурсы сервера

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

Решение проблемы:

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

Перенос баз данных и пользователей mysql на новый сервер

Если нужно переместить все свои БД MySQL, пользователей, разрешения и структуру данных старого сервера на новый, то нужно использовать команду rsync. С ее помощью скопируется весь контент из каталога данных mysql или mariadb на новый сервер.

Перенос базы данных на реальный сервер mysql

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

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

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

  1. Для начала убедимся, что DNS-сервера обновились, для этого попробуйте перейти на Ваш сайт и если Вы увидите картинку, которая ниже, значит все нормально, DNS-сервера обновились.
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  2. Заходим по адресу localhost/tools/phpmyadmin (Не забываем включить Денвер).
  3. Выбираем нашу базу данных, в нашем случае это web:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  4. Заходим в пункт Экспорт:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  5. Нажимаем на кнопку «Отметить все»:
    Перенос базы данных на реальный сервер mysql
  6. И нажимаем на кнопку Пошел:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  7. У Вас откроется окно, где база данных расписана в текстовом виде. Копируете всю эту информацию, чтобы выделить все, можно нажать CTRL A и копируете все это (Правая кнопка мыши —> Копировать):
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  8. Создаете новый файл в текстовом редакторе Notepad и вставляете все то, что скопировано выше (у меня вышло 691 строк, у Вас, естественно, другое количество):
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  9. Кодируете файл в кодировку UTF-8:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  10. Теперь сохраняете данный файл. Я для каждого блога создаю отдельную папку на своем компьютере (например для этого блога файлы у меня расположены в папке Локальный дискD/WPnew), называю ее аналогично доменному имени и храню там файлы, касающихся данному блогу, что позволяет мне не путаться среди всей кучи файлов. Базу данных я сохраню под название export в эту папку:
    Перенос базы данных на реальный сервер mysql
  11. Теперь нам нужно переименовать адреса, так как на локальном компьютере наш блог имел адрес localhost/web, а в интернете будет иметь вид ваш_сайт.ru. Для этого в Notepad нажимаете Поиск —> Замена:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  12. В строке «Что искать:» набираем localhost/web, а в строке «Заменить на:» вписываем адрес Вашего будущего блога, который Вы выбрали при покупке домена и нажмите на кнопку «Заменить все»:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей Notepad покажет Вам количество изменений. Сохраняем файл на всякий случай.
  13. Теперь в нашем файле export остались еще такие адреса, где нужно поменять не на просто имя домена, а надо указать полный адрес. Для определения полного пути до Вашего блога, Вам нужно скачать этот архив и распаковать его себе на компьютер (там должен находится файл adress.php)
  14. Этот файл нам нужно закачать на реальный сервер. Для начала Вам нужно установить FTP-клиент, например, FileZilla (он бесплатный). Вы можете скачать его тут или с официального сайта.
  15. Установите скаченную только что программу FileZilla и запустите ее
  16. Нажмите на Файл —> Менеджер сайтов:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  17. Нажимаете на кнопку Новый Сайт:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  18. Вписываете данные с письма, который прислал Вам хостинг-провайдер (где находятся все данные для доступа, о котором я рассказывал в предыдущем уроке). В письме находите раздел, где указаны данные для FTP доступа и вписываете их:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  19. Нажимаете «Соединиться«:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  20. И если Вы выбрали хостинг, рекомендованный мною, то Ваша папка для работы с блогом будет называться public_html. Именно с ней нам в будущем придется работать. Скопируйте adress.php (вы скачали его на 12ом шаге) в папку public_html.
    Для этого в левом окне откройте папку, где содержится файл adress.php, а справа зайдите на ФТП-сервер и откройте папку public_html. Затем нажмите на adress.php правой кнопкой мыши и выберите Закачать на сервер:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  21. Теперь в адресной строке браузера набираем следующий адрес: ваш_сайт.ru/adress.php:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  22. Выйдет сообщение, где будет показан полный путь:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  23. Теперь возвращаемся к файлу export и в нем задаем в поиске (Поиск —> Поиск…) localhost, первое совпадение мы оставляем (в строчке где написано «Хост: localhost»):
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  24. Нажимаем Искать далее, у меня нашло следующее: Z:\home\localhost\www\web/wp-content/uploads и в этом месте заменяем на тот адрес, который нам указал файл adress.php в 21ом шаге. То есть после редактирования адреса, который расположен выше, он выглядит следующим образом:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей Ищете таким образом дальше localhost и там где он найдется, вставляем полный путь, который взяли с adress.php.
    То есть там, где написано Z:\home\localhost\www\web мы меняем на /home/ваши_данные/public_html.
    Мне пришлось изменить всего лишь в двух местах, у Вас количество может отличаться. Сохраняем файл export.
  25. Важный шаг. В файле export ищите cp1251 и заменяете (как в 11ом шаге) ее везде наutf8. Сохраняете файл.
  26. Далее снова идем в наш CPanel (адрес можно найти в том самом письме, который я упоминал не раз, она называется так: «Страница доступа»)
  27. Спускаетесь вниз до базы данных и нажимаете на phpmyadmin:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  28. Слева выбираете нашу базу данных web:
    Как залить сервер MySQL на хостинг, чтобы не залить соседей
  29. Переходите во вкладку SQL и в окошко ниже вставляете все, что было в файле export и нажимаете кнопку ОК:
    Перенос базы данных на реальный сервер mysql
  30. Должно выйти сообщение, что SQL-запрос был успешно выполнен. И теперь перейдя в вкладку Структура все Ваши таблицы должны быть в кодировке UTF8 (если, конечно, Вы все сделали правильно):
    Как залить сервер MySQL на хостинг, чтобы не залить соседей

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

Мы находимся буквально в 1-2 шагах от того, чтобы показать всем своим друзьям и знакомым свой будущий блог. Скоро он будет в интернете, мы изучим некоторые нюансы, начнем раскручивать и зарабатывать на блоге.

До скорых встреч!

______________________________

Следующий урок: Урок 33 Перенос блога на реальный сервер.

Перенос всего mysql

Прежде всего, для понимания всего процесса «телепортации» давайте разберемся, что такое сервер MySQL. Он представляет собой коллекцию БД, размещенных на одном дисковом пространстве и объединенных между собой определенными настройками доступа к ним.

Другими словами, сервер БД – это все базы, для которых заданы определенные привилегии конкретных пользователей, которые обладают этими правами лишь в масштабах данного «объединения».

То есть пользователь, который обладает правами администратора на текущем сервере не сможет реализовать свои привилегии на другом. Получается, что сервер – это самостоятельная и самая высшая единица иерархии в MySQL.

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

Сердцем любого экземпляра MySQL является одноименная системная база данных. В ней записаны и хранятся все настройки сервера СУБД. В том числе и сведения об учетных записях, их привилегиях.

Перенос дампа mysql на новый сервер

Теперь используйте команду scp, чтобы перенести файл дампа на новый сервер. После подключения база будет перенесена на новый сервер.

Перенос сайта на другой хостинг в 7 шагов

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

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

Те, кто пользуются хостингом имеют свои сайты и блоги, знают, что такое панель управления хостингом, FTP доступ и база данных. Нет смысла останавливаться на всех этих инструментах. Я постараюсь изобразить у вас в голове общую целую картину того, как осуществить перенос быстро, просто и эффективно.

Подготовка

Первым делом нужно убедиться, что и на старом, и на новом сервере установлена одинаковая версия MySQL с одинаковым дистрибутивом. Для этого в командной строке выполните:

mysql -V

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

Предыдущие показатели оптимизации блога

Кстати, я же обещал вас держать в курсе дел по оптимизации своего блога. Как вы думаете, насколько возросли мои показатели после предыдущих экспериментов? Напомню, что параметры по версии PageSpeed Insights изначально были 62 из 100. После некоторых проделанных мной действий, а также активации модуля кэширование изображений «Photon» из пакета JetPack, я добился показателей 73 из 100.

Проверка импорта

После завершения импорта вы можете проверить базы данных на обоих серверах:

Создание дампа на старом хостинге

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

Обратитесь с справочную службу вашего старого хостинга.

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

Общий вид — putty

Текущие показатели оптимизации блога

А вот теперь все самое вкусное. Проработав еще над оптимизацией блога, осуществив перенос сайта на другой хостинг, показатели увеличились до 90 из 100 возможных баллов. Меня это очень сильно порадовало. Осталось допилить некоторые мелкие моменты, и я всерьез планирую выйти на максимальный уровень 100 из 100 возможных баллов. PageSpeed Insights от Google окажет неоценимую помощь в этом деле.

Для мобильных устройств79/100 Скорость

Для компьютеров90/100 Рекомендации

Шаг 1. делаем резервную копию всего сайта

Первым делом вы должны сделать резервную копию всего сайта, директорий со всеми файлами движка. Все хостинг провайдеры предоставляют такую возможность. Заходите через интерфейс хостера в файл менеджер. Преимущество его в отличии от локальных FTP клиентов, например, таких как FileZilla в том, что он позволяет создавать единый архив всех файлов в пару кликов. С архивом легче работать, чем множеством файлов.

А если бы вы использовали FTP клиент, тогда вам бы пришлось долго повозиться пока все файлы закачаются к вам на компьютер. Чем больше разных файлов и папок в директориях WordPress, тем дольше все закачивается. Таких файлов может быть от нескольких сотен до десятков тысяч, в зависимости от масштаба проекта.

Шаг 1. добавить домен в админку нового хостинга

Первое, что нам нужно сделать для переноса – это добавить доменное имя сайта в ваш аккаунт и привязать к нему соответствующие папки, в которые мы, в дальнейшем, будем переносить файлы вашего web ресурса. Для этого нужно найти в панели управления раздел, связанный с управлением доменами, обычно, он так и называется.

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

Шаг 2. загружаем и распаковываем сайт

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

Шаг 4. создать базу данных на другом хостинге

Точно также, как и в предыдущем пункте, открываете на другом хостинге раздел «Управление базами данных» (Базы MySQL), только вместо выбора нужной базы – выбираете пункт создать новую базу данных.

Шаг 5. импорт базы в разных форматах

Как вы уже наверное догадались, SQL и XML файлы можно импортировать таким же способом на новый сайт, через инструмент «Импорт».

Шаг 5. импортировать базу данных на новый хостинг

После того, как вы создали новую базу данных, необходимо скопировать на нее информацию из той базы, которую вы экспортировали со старого сервера. Для этого выбираете меню «Ипморт». Через окно указываете путь к базе, сохраненной на вашем компьютере, и нажимаете импортировать.

Все таблицы будут созданы и заполнены автоматически. На серверах разных провайдеров может использоваться разное программное обеспечение, поэтому, несмотря на полную совместимость всех баз, иногда, могут возникать проблемы. У меня выскочила ошибка 1062, решение проблемы я описал здесь. В 99% случаев перенос пройдет гладко.

Шаг 7. проверить работу файлов и базы данных

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

Проверяем работу сайта на новом хостинге:

Шаг 8. изменить dns записи домена

Итак, у вас все готово, файлы и база работают нормально на новом сервере. Осталось только перенаправить доменное имя на другой хостинг. Для этого нужно изменить NS записи домена. Сейчас в них прописаны NS сервера старого хостинга, поэтому вся информация берется с них. Нам же требуется их переписать.

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

Выглядят эти записи примерно вот так (это для моих хостингов):

Экспорт базы данных mysql через консоль

Экспорт базы данных выполняется с помощью утилиты MySQLdump:

Экспорт базы данных.

Делаем экспорт посредством удобного mysqldump :

mysqldump -uLogin -pPassword db_name > db_name.sql

Экспортируем базу данных mysql в файл дампа

Внимание! Не переносите каталог data на новый сервер и не меняйте внутреннюю структуру БД.

Сначала на старом сервере остановите службу mysql или mariadb, используя команду systemctl:

# systemctl stop mariadb
ИЛИ
# systemctl stop mysql

Затем сделайте дамп ваших баз MySQL с помощью команды mysqldump:

Заключение

Как видим перенос базы MySql не представляет большой сложности. Следует отметить, что в случае с очень большими БД, перенос может занимать длительное время.Например, на перенос БД объёмом 200 Гб может потребоваться приблизительно неделя. В таких случаях обычно перенос осуществляют по частям, отдельными таблицами, или использовать другие инструменты переноса.

Оцените статью
Хостинги