Как перенести базу данных

Содержание
  1. Как перенести базу данных mysql на хостинг: инструкция
  2. Способы копирования базы данных на хостинг
  3. Какой способ лучше?
  4. Пошаговая инструкция создания базы данных на новом хостинге
  5. Переносим базу данных MуSQL со старого хостинга на компьютер
  6. Импортируем данные МуSQL на новый хостинг
  7. Решение возможных проблем
  8. Как перенести базу данных mysql на хостинг
  9. Перенос базы данных MySQL — создание и импорт домпа бд
  10. При помощи панелей управления хостингом
  11. Используя веб-приложение PHPMyAdmin
  12. MySQL Workbench и Navicat
  13. Заключение
  14. Как перенести базу MySQL на новый сервер без даунтайма · /4te.me
  15. Дано
  16. Создание нового сервера
  17. Настройка репликации master-slave
  18. Настройка репликации master-master
  19. Выключение старого сервера
  20. Как быстро перенести базу данных MySQL с помощью приложений
  21. Быстрый способ экспорта
  22. Импортируем
  23. Альтернативное ПО
  24. Перенос БД MySQL на другой хостинг — ИТ Проффи
  25. Как это работает?
  26. Команда mysqldump – резервирование БД
  27. Команда source MySQL – восстановление резервной копии БД
  28. Восстановление базы с помощью mysql
  29. Как перенести базу данных MySQL между двумя серверами?
  30. Экспорт базы данных MySQL в файл дампа
  31. Защитите файл резервной копии
  32. Перенести файл резервной копии
  33. Импортируйте дамп MySQL на новый сервер
  34. Проверить импортированные данные на новом сервере
  35. Еще один вариант экспорта и импорта
  36. Важные заметки

Как перенести базу данных mysql на хостинг: инструкция

Как перенести базу данных

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

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

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

Способы копирования базы данных на хостинг

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

Поэтому будем отталкиваться от простых и доступных для широких масс вариантов, среди которых:

  1. Экспорт данных с помощью интерфейса phpMyAdmin через панель управления хостинг-провайдера.
  2. Копирование базы с помощью сторонних программ.

Какой способ лучше?

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

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

Пошаговая инструкция создания базы данных на новом хостинге

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

  1. Активацию личного кабинета на арендуемом хостинге.
  2. Поиск в меню раздела «MySQL», «База данных» или похожего по названию меню.
  3. Непосредственное создание базы данных на хостинге.
    Для этого нужно нажать кнопку «Создать». Прописываем новое название для базы, привязываем к ней пользователя (зачастую хостинг-провайдер автоматически создает пользователя, но иногда эту операцию следует проводить самому. Поэтому, если так получилось, не забудьте активировать наивысший уровень прав доступа данному аккаунту).

Переносим базу данных MуSQL со старого хостинга на компьютер

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

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

Ход действий:

  1. Входим в личный кабинет на хостинге.
  2. Ищем на панели управления (в интерфейсе РНР MyAdmin) раздел «МуSQL» или «База данных».
  3. В верхнем левом углу выбираем свою БД (имеется в виду то хранилище, которое вы планируете перенести на компьютер, чтобы потом совершить импорт на другой хостинг-сервер).
  4. Кликаем на вкладыш «Экспорт».
    А вот дальнейшие действия напрямую зависят от версии административной панели, но общий алгоритм действий все равно один и тот же.
  5. Выбираем способ «Экспорта» («Обычный» подразумевает кучу настроек, «Быстрый» намного проще). Поэтому вне зависимости от выбранного вами способа, следующий шаг требует изменить только те настройки, о которых я расскажу ниже.
  6. Выбираем «Выделить все» (то есть все таблицы без исключения).
  7. Ставим галочку в ячейке «Сохранить как файл» (или ищем что-то подобное со словом SAVE). Ни в коем случае не меняем кодировку.
  8. Жмем волшебную кнопку «Сохранить на компьютер». Ищем в папке загрузок файл с расширением «.sql» и переходим к разделу «Импорт БД на новый хостинг».

Импортируем данные МуSQL на новый хостинг

  1. Тем же способом, что и в предыдущем разделе заходим в административную панель хостинга.
  2. Выбираем необходимую нам базу данных (ту что мы создали еще в самом начале).
  3. Кликаем вкладку «Импорт».
  4. Жмем «Обзор» и указываем местоположение сохраненного ранее на ваш компьютер файла с хранилищем.
  5. Проверяем аналогичность кодировки с той, которая была применена при сохранении файла (7 пункт предыдущего раздела).
  6. Оставляем неизменными все остальные настройки и завершаем процесс копирования данных на новый хостинг-сервер.

Решение возможных проблем

Убедитесь, что перед началом импорта материалов на новый hosting в файле хранилища нет запросных фраз «CRЕАTE DАTАBАSЕ». Для этого откройте его любой текстовой программой (можно блокнотом или ворд падом) и через Ctrl+F (с помощью поиска по тексту) найдите эти запросы, и в случае обнаружения просто удалите их.

Надеюсь, что все понятно?! Выполняя пошагово предложенные инструкции, у вас не должно возникнуть сложностей.

Но после всех этих манипуляций я бы рекомендовал вам сделать аудит вашего сайта. Вдруг появились непредвиденные ошибки…

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

С уважением! Абдуллин Руслан

Источник: https://abdullinru.ru/kak-perenesti-bazu-dannyh-mysql-na-hosting.html

Как перенести базу данных mysql на хостинг

Как перенести базу данных

Давайте разберёмся, что же такое MySQL. MySQL — это система управления, реляционными базами данных, с моделью клиент-сервер.

А база данных? База данных — это набор, структурированных данных, а реляционная означает, что ваши данные хранятся в базе, организованные в виде таблиц, которые имеют предопределенные связи между собой.

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

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

Перенос базы данных MySQL — создание и импорт домпа бд

Есть несколько способов, с помощью которых можно создать бд MySQL

При помощи панелей управления хостингом

Например Vesta либо ISPmanager, более подробно об этом, рассказано в данных статьях http://wiki.friendhosting.net/index.php?title=Работа_с_базами_данных_в_панели_управления_VESTA

http://wiki.friendhosting.net/index.php?title=Работа_с_базами_данных_в_панели_управления_ISPmanager_4

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

Используя веб-приложение PHPMyAdmin

Для этого, вам нужно перейти в данное приложение, по ссылке, например http://ip_your_server/phpmyadmin, где ip_your_server — ip адрес вашего сервера либо же доменное имя, авторизироваться используя доступ пользователя root, либо любого другого пользователя, который имеет доступы для создания баз данных.

Далее переходим во вкладку Базы данных, видим там форму по созданию базы данных, вводим её название, выбираем нужную кодировку и нажимаем «Создать».

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

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

Готово, база успешно импортирована, о чём будет говорить соответствующее сообщение в PhpMyAdmin и таблицы импортируемой базы, отобразятся с левой стороны.

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

mysql -u root -p

Примечание: пароль root, вводится от пользователя root MySQL, а не от системного пользователя.

Создаём базу данных, командой

create database admin_db;Query OK, 1 row affected (0.01 sec)

Где admin_db — это создаваемая база данных, а Query OK, 1 row affected (0.01 sec) — сообщение, об успешном выполнении команды.

Примечание: также хочу заметить, что ; в конце строки, обязательны, они обозначают завершение ввода команды.

Просмотр существующих баз данных, можно осуществить командой:

show databases;

Создадим пользователя для данной базы данных:

CREATE USER 'admin_user'@'localhost' IDENTIFIED BY 'somepassword';

где admin_user — имя создаваемого пользователя, а somepassword — пароль для данного пользователя (может быть любой).

Предоставим ему права, на созданную нами базу данных:

GRANT ALL PRIVILEGES ON admin_db.* TO 'admin_user'@'localhost';

где admin_db — название базы, для которой предоставляются права, а admin_user — имя пользователя, которому предоставляются права.

Далее, можно выходить из консоли MySQL, командой exit. Вернувшись в консоль сервера, переходим в директорию куда мы выполнили загрузку нашего дампа базы данных (например cd /home/admin/, у вас может быть другая директория, смотря куда загрузили файл), и выполняем команду:

mysql -u admin_user -p admin_db < admin_wp.sql

где admin_wp.sql — импортируемый дамп базы данных, а admin_user и admin_db — пользователь и база данных, куда осуществляется импорт.

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

MySQL Workbench и Navicat

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

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

Navicat — также довольно популярный инструмент, но за его использование, придется заплатить. В нём также представлена возможность импорта/экспорта баз данных, ssh и http туннелинг, возможность создавать отчёты, планировщик задач и другие полезные функции.

Заключение

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

  • Администрирование Linux
  • Безопасность
  • Статьи о хостинге

Мы начинаем летнюю распродажу «Summer sale 2020», которая пройдёт с 1 по 30 июня 2020 года. В рамках данной распродажи мы подготовили очень жаркую скидку для новых заказов и приятные бонусы для продления уже заказанных vds и виртуального хостинга.

(далее…)

В рамках акции «Welcome» компания Friendhosting.net приготовила для вас скидку в 20% на первый месяц использования VDS.

Условия акции:

  1. Акция для всех клиентов, и новых и уже зарегистрированных;
  2. Промо-код даёт скидку только на первый месяц;
  3. Действие промо-кода распространяется только на новые заказы;

Скидка на виртуальный хостинг “WELCOME”

В рамках акции «Welcome» компания Friendhosting.net приготовила для вас скидку в 30% на первый месяц использования виртуального хостинга.

Условия акции:

  1. Акция для всех клиентов, и новых и уже зарегистрированных;
  2. Промо-код даёт скидку только на первый месяц;
  3. Действие промо-кода распространяется только на новые заказы;

Скидка на DEDICATED «WELCOME»

В рамках акции «Welcome» компания Friendhosting.net приготовила для вас скидку в 10% на первый месяц использования выделенных серверов.

Условия акции:

  1. Акция для всех клиентов, и новых и уже зарегистрированных;
  2. Промо-код даёт скидку только на первый месяц;
  3. Действие промо-кода распространяется только на новые заказы;

Источник: https://friendhosting.net/blog/kak-perenesti-bazu-dannykh-mysql-na-khosting.php

Как перенести базу MySQL на новый сервер без даунтайма · /4te.me

Как перенести базу данных

Часто возникают ситуации с переездами базы между серверами. Здесь расскажу как перенести базу MySQL с одного сервера на другой без даунтайма.

Дано

Имеется такая ситуация:

Есть приложение, в настройках которого прописан адрес MySQL сервера в виде домена mysql.server.loc. Этот домен прописан в DNS и резолвится в 1.1.1.1. Есть новый сервер 2.2.2.2. Надо перенести mysql базу со старого сервера на новый. Нацеливать приложение можно как через его настройки, так и через DNS, меняя запись A-типа.

Перенос в несколько шагов:

  1. Создать новый сервер
  2. Настроить репликацию мастер-мастер. Приложение при этом смотрит на старый сервер.
  3. Перенацелить приложение на новый сервер.
  4. Выключить репликацию на новом. Выключить старый сервер.

Создание нового сервера

В данном случае я использую Ubuntu 16.04.3 и MySQL 5.7. Установим mysql на новый сервер:# apt-get update && apt-get install mysql-server

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

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

Включаем binlog в my.cnf:[mysqld]log-bin = mysql-binlogexpire-logs-days = 3max-binlog-size = 1024Mserver-id = 5

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

Создадим пользователя, под которым будет происходить репликация и дадим права на репликацию:mysql> CREATE USER 'repluser'@'localhost' IDENTIFIED BY 'repluserpassword';mysql> GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' IDENTIFIED BY 'repluserpassword';

Теперь сделаем бэкап базы с помощью innobackupex (это утилита от Percona которая делает бэкап с указанием позиции в bin-логе) в директорию /tmp/mysqlbackup. Здесь инструкция по инсталяции innobackupex.# innobackupex —host=127.0.0.1 —user=root —password='rootpassword' /tmp/mysqlbackup

Можно запускать в докер-контейнере:docker run —rm -it -v /var/lib/mysql/:/var/lib/mysql —net=host -v /tmp/mysqlbackup:/innobackupex vadio/innobackupex innobackupex —host=127.0.0.1 —user=root —password='rootpassword'

В конце вывода будет что-то типа:180122 14:55:45 Backup created in directory '/tmp/mysqlbackup/2018-01-22_14-55-42/'MySQL binlog position: filename 'mysql-bin.000001', position '26115'

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

Копируем папку с бэкапом на новый сервер. Например rsync-ом (предварительно надо сделать доступ на новый сервер со старого по ssh):# rsync -av /tmp/mysqlbackup/2018-01-22_14-55-42 root@2.2.2.2:/tmp/

Когда перенос закончится, логинимся на новый сервер и разворачиваем бэкап. Для этого скопируем содержимое папки бэкапа в /var/lib/mysql и запустим innobackupex:# mv /tmp/2018-01-22_14-55-42/ /var/lib/mysql/# innobackupex —apply-log /var/lib/mysql/

Запускаем MySQL на новом сервере, заходим в mysql-консоль и прописываем адрес мастера и момент времени с которого надо начинать подтягивать данные:mysql> CHANGE MASTER TO MASTER_HOST='1.1.1.1', MASTER_PORT=3306, MASTER_USER='repluser', MASTER_PASSWORD='repluserpassword', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=26115;

Проверяем:mysql> show slave status\G;*************************** 1. row *************************** Slave_IO_State: Master_Host: 1.1.1.1 Master_User: repluser Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 26115 Relay_Log_File: mysqld-relay-bin.

000002 Relay_Log_Pos: 253 Relay_Master_Log_File: bin.

000001 Slave_IO_Running: No Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: Relay_Log_Space: 221131 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULLMaster_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 5 Master_UUID: 92eff853-0263-11e7-a7c4-0242ac110002 Master_Info_File: /var/lib/mysql/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 01 row in set (0.00 sec)

Проверяем Master_Host должен быть ip старого сервера, Master_Log_File и Read_Master_Log_Pos должны быть те, которые показал innobackupex.

Стартуем слэйв и смотрим статус:mysql> start slave;OK.mysql> show slave status\G;*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 1.1.1.1 Master_User: repluser Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.

000001 Read_Master_Log_Pos: 30124 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 4262 Relay_Master_Log_File: bin.

000001 Slave_IO_Running: No Slave_SQL_Running: No Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 30124 Relay_Log_Space: 221131 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 5 Master_UUID: 92eff853-0263-11e7-a7c4-0242ac110002 Master_Info_File: /var/lib/mysql/master.info SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Master_Retry_Count: 86400 Master_Bind: Last_IO_Error_Timestamp: Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 01 row in set (0.00 sec)

Теперь сервера между собой работают в master-slave режиме. Писать можно только в master, читать из обоих.

Ждем пока новый сервер догонит мастера. Время отставания слейва от мастера — Seconds_Behind_Master. Exec_Master_Log_Pos на новом сервере должен быть такой же как position у master ноды.

В примере выше слейв уже догнал мастера.Посмотреть position на мастер ноде можно с помощью команды:mysql> show master status\G*************************** 1. row *************************** File: mysql-bin.

000001 Position: 30124

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

Когда слейв догнал мастера, идем на старый инстанс и добавляем параметры для репликации, чтобы репликация была master+master. Здесь уже не надо указывать MASTER_LOG_POS и MASTER_LOG_FILENAME:mysql> CHANGE MASTER TO MASTER_HOST='2.2.2.2', MASTER_PORT=3306, MASTER_USER='repluser', MASTER_PASSWORD='repluserpassword'; mysql> start slave;

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

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

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

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

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

Источник: https://4te.me/post/perenos-mysql/

Как быстро перенести базу данных MySQL с помощью приложений

Как перенести базу данных

От автора: недавно в гости родственники заезжали. Так они за пару дней истощили сначала всю продуктовую базу, затем «прокомпостировали» всю нервную, а под конец спалили музыкальную (музыкальный центр). В общем, от греха подальше я решил побыстрее перенести базу данных MySQL. Если вы тоже оказались в такой ситуации, тогда обязательно прочитайте эту статью.

Быстрый способ экспорта

Начнем с обзора phpMyAdmin. Чтобы перенести базу, сначала нужно создать ее дубликат. Для этого в программе имеется специальный функционал. Рассмотрим детально данный процесс:

Можно сначала выбрать в списке слева нужную базу, и затем перейти по вкладке меню «Экспорт». Если использовать данный вариант, то будет произведен потабличный перенос MySQL. Для этого в «Способ экспорта» устанавливаем «Обычный», а в «Таблицы» выбираем элементы экспорта.

Если требуется экспортировать БД целиком (со всеми таблицами), то сразу переходите в «Экспорт». Только здесь мы уже оперируем не таблицами, а базами. В «Способ экспорта» также устанавливаем «Обычный». Затем выделяем нужную БД, и в разделе «Вывод» выбираем вариант «Сохранить вывод в файл».

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Следующим шагом задаем формат, в котором будет сохранена копия базы. Выбираем в соответствующем списке значение «SQL». Это будет гарантом того, что копию можно будет использовать на большей части платформ. Но если собираетесь переносить базу на конкретную основу, то здесь можно выбрать соответствующий формат: массив PHP, CSV, PDF и другие.

Ниже в разделах «Параметры формата» и «Параметры сохранения данных» можно настроить более «профессиональные» параметры для переноса базы MySQL. Но мы не будет подробно останавливаться на их обзоре.

Если вы не знакомы с какими-либо из них, то лучше не менять (без необходимости) установленные значения по умолчанию. Здесь можно настроить максимальную совместимость со старыми версиями СУБД и как будут сохранены таблицы.

Можно экспортировать только данные или структуры. Мы скопируем таблицы полностью (вариант «структура и данные).

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

Импортируем

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

Выполнение этого процесса во многом схоже с экспортом базы. phpMyAdmin «умеет» присоединять как отдельные таблицы к базе, так и сразу несколько БД к серверу.

Для присоединения таблиц слева в списке выберите нужную базу, и затем переходите по вкладке «Импорт».

Чтобы присоединить к серверу базу (или несколько баз), сразу переходите по указанной вкладке. Затем в разделе «Импортируемый файл» отмечаем пункт «Обзор вашего компьютера», и через проводник указываем месторасположение файла БД.

Здесь нужно указать кодировку, в которой представлены данные в импортируемом источнике. С этим параметром следует быть аккуратнее, иначе вместо строк в таблицах получите настоящие «иероглифы», и для их расшифровки придется нанимать коренного японца или китайца. А с ними в нашей местности – настоящий дефицит .

Чаще всего используется кодировка UTF-8, которая и установлена по умолчанию. Поэтому, даже если не знаете точно, какая используется в переносимой базе MySQL, то стоит попробовать данную кодировку. В любом случае вы всегда сможете удалить импортированную базу, и затем «перезалить» ее с другой кодировкой.

Также спешу огорчить «рьяных» поклонников phpMyAdmin. Данная утилита подходит только для экспорта-импорта небольших баз (до 2 «метров»). Этого значение вполне хватает для частичного (поэтапного) переноса сервера, что может быть не совсем удобно и затянуть надолго весь процесс.

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

В разделе «Формат» устанавливаем значение «SQL». Если нужно, то включаем режим совместимости. А также отключаем автоматическое создание значения ключа для столбцов с нулевым значением (зависит от структуры таблиц импортируемого источника). И для окончания импорта жмем «Ок».

Если собираетесь перенести базу данных MySQL из бэкапа, то не забудьте перед началом импорта удалить с сервера «оригинал» источника. Иначе получите сообщение об ошибке, поскольку данная БД уже существует.

Если процесс прошел удачно, то система программы выведет соответствующее сообщение.

Альтернативное ПО

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

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

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

В новом раскрывшемся окне слева в панели «Navigator» выбираем нужную вкладку (для экспорта или импорта). Я импортирую дубликат базы, созданный с помощью phpMyAdmin.

Чтобы осуществить перенос данных MySQL, переходим через пункт «Data Import». В одноименной вкладке в разделе «Import Options» выбираем второй вариант (обозначен на снимке).

Так как у нас никаких схем нет, то внизу нажимаем на «Start Import». В соседней вкладке «Import Progress» отображается состояние процесса переноса указанного файла. Эта опция может пригодиться при импорте больших объемов данных.

После окончания переноса MySQL в списке баз у нас появится db1, дубликат которой мы создали с помощью phpMyAdmin.

Ну, а пока я «прятал» свою БД MySQL, все родственники разъехались. Так как я был занят, а пополнять продуктовую базу холодильника было некому. Вот как любимая СУБД спасла меня от «родственной» напасти. За что ей огромное спасибо .

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Источник: https://webformyself.com/kak-bystro-perenesti-bazu-dannyx-mysql-s-pomoshhyu-prilozhenij/

Перенос БД MySQL на другой хостинг — ИТ Проффи

Как перенести базу данных

Далеко не всегда удаётся использовать одну базу данных (БД) на одном сервере. Ситуации бывают разные: перенос проекта с сервера разработки на рабочий хостинг, неисправность оборудования и/или конфигурации ПО на используемом сервере, просто смена хостинга и т. д.

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

Основным принципом, на котором основан перенос БД — это резервное копирование.

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

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

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

По соображениям безопасности для БД 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:

$ mysql -u username -p Enter password: mysql>

При успешной авторизации, как видно, пользователь будет перенаправлен в командную консоль MySQL. Далее не лишним будет посмотреть, какие БД доступны пользователю:

mysql>show databases; +——————-+ | Database | +——————-+ | drupal7_devtest | | phpmyadmin | | wordpress_devtest | +——————-+ 3 rows in set (0.01 sec) mysql>

Теперь нужно создать новую (пустую) БД для последующего в неё импорта содержимого дампа:

mysql>create database new_dbname; Query OK, 1 row affected (0.00 sec) mysql>

Создана новая БД с именем new_dbname. Если снова выполнить запрос «show databases;», то БД new_dbname будет в представленном списке. Далее, для того, чтобы можно было работать с этой БД (new_dbname), следует её явно выбрать. Для этого нужно выполнить запрос:

mysql>use new_dbname; Database changed mysql>

Теперь можно импортировать таблицы (со всем их содержимым) из ранее созданного дампа:

mysql>source ~/bacups/dbname_back-130319.dump; Query OK, 0 rows affected (0.00 sec) . . . Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec)

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

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

Особое внимание следует обратить на то, что использование символа «;» в конце каждого запроса является обязательным — таков синтаксис языка SQL.

Восстановление базы с помощью mysql

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

mysql -u user -p new_dbname < ~/bacups/dbname_back-130319.dump

Как перенести базу данных MySQL между двумя серверами?

Как перенести базу данных
Миграция базы данных MySQL обычно требует всего лишь нескольких простых шагов, но может занять довольно много времени, в зависимости от объема данных, которые вы хотите перенести.

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

Экспорт базы данных MySQL в файл дампа

Oracle предоставляет утилиту с именем mysqldump, которая позволяет легко экспортировать структуру базы данных и данные в файл дампа SQL. Используйте следующую команду:

mysqldump -u root -p —opt [database name] > [database name].sql

Несколько заметок:

  • Мы используем флаг –single -action, чтобы избежать блокировки базы данных при экспорте данных . Это позволит вам продолжить обновление данных в вашей старой базе данных при экспорте файла дампа. Обратите внимание, что новые данные, которые будут обновлены после того, как процесс экспорта уже запущен, не будут доступны в экспортированном файле дампа.
  • Обязательно замените [database name] реальным именем базы данных перед запуском команды.
  • Не забудьте ввести свои учетные данные пользователя вместо «user» и «Password» в команде. Убедитесь, что у пользователя есть разрешения на резервное копирование базы данных.

Защитите файл резервной копии

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

Поэтому при первом удобном случае давайте сжимаем и шифруем файл и удаляем исходный файл. Чтобы зашифровать файл в сжатый файл в операционных системах Linux, используйте эту команду:

zip —encrypt dump.zip db.sql

Вам будет предложено ввести пароль до начала сжатия.

Перенести файл резервной копии

Теперь, когда у нас есть зашифрованный файл дампа, давайте перенесем его по сети на новый сервер, используя SCP:

scp /path/to/source-file user@host:/path/to/destination-folder/

Импортируйте дамп MySQL на новый сервер

Теперь, когда у нас есть файл резервной копии на новом сервере, давайте расшифруем и распакуем его:

unzip -P your-password dump.zip

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

mysql -u root -p newdatabase < /path/to/newdatabase.sql

Проверить импортированные данные на новом сервере

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

Запрос подсчитает количество строк во всех таблицах, что обеспечит указание количества данных в обеих базах данных.

SELECT    TABLE_NAME,    TABLE_ROWSFROM    `information_schema`.`tables`WHERE    `table_schema` = 'YOUR_DB_NAME';

Кроме того, мы рекомендуем проверять записи MIN и MAX столбцов в таблицах, чтобы убедиться, что действительными являются сами данные, а не только объем данных.
Еще, перед переносом самого приложения мы рекомендуем перенаправить один экземпляр приложения в новую базу данных и убедиться, что все работает правильно.

Еще один вариант экспорта и импорта

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

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

Если вы все равно хотите попробовать, используйте эту команду:

mysqldump -u root -pPassword —all-databases | ssh user@new_host.host.com 'cat — | mysql -u root -pPassword'

Важные заметки

  • Убедитесь, что оба сервера MySQL установлены с одинаковым официальным дистрибутивом и версией. В противном случае вам нужно будет следовать инструкциям по обновлению с веб-сайта MySQL.
  • Убедитесь, что на вашем старом сервере достаточно места для файла дампа и сжатого файла (2 x db_size => free).
  • Убедитесь, что на вашем новом сервере достаточно места для хранения зашифрованного файла дампа, дешифрованного файла дампа и импортированной базы данных (3 x db_size => free).
  • Если вы когда-нибудь задумывались о переносе datadir из одной базы данных в другую, пожалуйста, не делайте этого.

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

  • Не забудьте настроить важные флаги, такие как innodb_log_file_size, в конфигурации вашего нового сервера.

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

Наслаждайтесь вашим новым сервером!

, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник: https://andreyex.ru/bazy-dannyx/baza-dannyx-mysql/kak-perenesti-bazu-dannyh-mysql-mezhdu-dvumya-serverami/

Делаем просто
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: