Содержание

Импортирование и экспортирование данных — База данных Azure для MySQL

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья
  • Чтение занимает 5 мин

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — отдельный сервер

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

Подробные и исчерпывающие инструкции по миграции см. в разделе Ресурсы руководств по миграции.

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

Предварительные требования

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

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

Создание базы данных в службе базы данных Azure для сервера MySQL

Создайте пустую базу данных на сервере базы данных Azure для MySQL с помощью инструментов MySQL Workbench, Toad или Navicat. База данных может иметь то же имя, что и база данных, которая содержит данные дампа. Вы также можете создать базу данных с другим именем.

Для подключения выполните следующие действия.

  1. На портале Azure найдите сведения о подключении на панели Обзор базы данных Azure для MySQL.

  2. Добавьте сведения о подключении MySQL Workbench.

Определите необходимость использования методов импорта и экспорта

Совет

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

В следующих сценариях следует использовать средства MySQL для импорта и экспорта баз данных в базу данных MySQL в Azure. Для сведений о работе с другими инструментариями перейдите к разделу «Методы миграции» (стр. 22) в руководстве по миграции базы данных MySQL в Azure.

  • Если вам нужно выбрать несколько таблиц для импорта из имеющейся базы данных MySQL в базу данных Azure, лучше всего использовать метод импорта и экспорта. Таким образом, можно пропустить все ненужные таблицы в процессе переноса, чтобы сэкономить время и ресурсы. Например, используйте параметр
    --include-tables
    или --exclude-tables с mysqlpump и параметр --tables с mysqldump.
  • При перемещении объектов, отличных от таблиц, необходимо будет явно создать эти объекты. Включите ограничения (первичный ключ, внешний ключ, индексы), представления, функции, процедуры, триггеры и другие объекты базы данных, которые требуется перенести.
  • При перемещении данных из внешних источников данных, отличных от базы данных MySQL, создайте неструктурированные файлы и импортируйте их с помощью команды mysqlimport.

Важно!

Как Отдельный сервер, так и Гибкий сервер поддерживают только подсистему хранилища InnoDB. Убедитесь, что все таблицы в базе данных используют подсистему хранилища InnoDB при загрузке данных в базу данных Azure для MySQL.

Если база данных источника использует другую подсистему хранилища, преобразуйте ее в подсистему InnoDB перед переносом базы данных. Например, при наличии WordPress или веб-приложения, которое использует ядро MyISAM, сначала преобразуйте таблицы путем переноса данных в таблицы InnoDB. Используйте предложение ENGINE=INNODB, чтобы задать ядро для создания таблицы, а затем передайте данные в совместимую таблицу перед переносом.

INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns

Для оптимальной производительности импорта и экспорта данных рекомендуется выполнить следующие действия:

  • Создайте кластеризованные индексы и первичные ключи перед загрузкой данных. Загрузите данные в порядке первичных ключей.
  • Отложите создание вторичных индексов до завершения загрузки данных.
  • Отключите ограничения внешних ключей перед загрузкой данных. Отключение проверки внешнего ключа обеспечивает значительный прирост производительности. Включите ограничения и проверьте данные после загрузки, чтобы обеспечить целостность данных.
  • Загружайте данные в параллельном режиме. Не выполняйте слишком много параллельных операций, так как ресурсы при этом могут кончиться. Отслеживайте ресурсы с помощью метрик, доступных на портале Azure.
  • Используйте секционированные таблицы, когда это необходимо.

Импорт и экспорт с помощью MySQL Workbench

Существует два способа экспорта и импорта данных в MySQL Workbench: из контекстного меню обозревателя объектов или из области навигатора. Каждый из них предназначен для своей цели.

Примечание

При добавлении подключения к Отдельному серверу MySQL или Гибкому серверу баз данных в MySQL Workbench, выполните следующие действия:

  • Если используется Отдельный сервер MySQL, убедитесь, что имя пользователя имеет формат <[email protected]>.
  • Для Гибкого сервера MySQL следует использовать только <username>. Если для подключения используется <[email protected]>, произойдет сбой подключения.

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

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

Мастер экспорта данных таблиц

Для выполнения экспорта таблицы в CSV-файл:

  1. Щелкните правой кнопкой мыши таблицу базы данных, которую необходимо экспортировать.
  2. Выберите Table Data Export Wizard (Мастер экспорта данных таблиц). Выберите столбцы, которые необходимо экспортировать, смещение строки (при необходимости) и количество (при необходимости).
  3. На панели Выбор данных для экспорта нажмите кнопку Далее. Выберите путь к файлу, тип файла CSV или JSON. Также выберите разделитель строк, метод включения строк и разделитель полей.
  4. На странице Выбор расположения выходного файла щелкните Далее.
  5. На панели Экспорт данных нажмите кнопку Далее.
Мастер импорта данных таблиц

Чтобы импортировать таблицу из файла CSV, выполните следующее:

  1. Щелкните правой кнопкой мыши таблицу базы данных, которую необходимо импортировать.
  2. Найдите CSV-файл, который необходимо импортировать, выберите его, а затем щелкните Далее.
  3. Выберите таблицу назначения (новую или имеющуюся), установите или снимите флажок Усечение таблицы перед импортом, затем нажмите Далее.
  4. Выберите кодировку и столбцы, которые необходимо импортировать, и нажмите кнопку Далее.
  5. На панели Импорт данных нажмите кнопку Далее. Мастер импортирует данные.

Запуск мастеров экспорта и импорта данных SQL через панель Навигатора

Используйте мастер для экспорта или импорта данных SQL, созданных в MySQL Workbench или с помощью команды mysqldump. Вы можете получить доступ к мастерам из области Навигатора или выбрать пункт Сервер в главном меню.

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

Используйте вкладку Экспорт данных для экспорта данных MySQL.

  1. В MySQL Workbench в области

    Навигатор выберите Экспорт данных.

  2. На панели Экспорт данных выберите каждую из схем, которые необходимо экспортировать.

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

    В качестве альтернативы можно использовать команду Export a Result Set (Экспортировать результирующий набор), чтобы выполнить экспорт конкретного результирующего набора из редактора SQL в другой формат, например CSV, JSON, HTML или XML.

  3. Выберите объекты базы данных, которые необходимо экспортировать, и настройте связанные параметры.

  4. Щелкните Обновить, чтобы загрузить текущие объекты.

  5. При необходимости выберите Дополнительные параметры в правом верхнем углу, чтобы настроить операцию экспорта. Например, можно добавить блокировки таблиц, использовать инструкцию replace вместо insert и заключить идентификаторы в кавычки в виде обратного апострофа.

  6. Щелкните Начать экспорт, чтобы начать процесс экспорта.

Импорт данных

Вкладку Импорт данных можно использовать для импорта или восстановления данных из операции экспортирования данных или из команды mysqldump.

  1. В MySQL Workbench в области Навигатор выберите Экспорт и восстановление данных.
  2. Выберите папку проекта или автономный файл SQL, затем выберите схему для импорта или нажмите кнопку Создать новую, чтобы определить новую схему.
  3. Щелкните Начать импорт, чтобы начать процесс импорта.

Дальнейшие шаги

  • Дополнительные сведения о другом способе переноса см. в статье Перенос базы данных MySQL в базу данных Azure для MySQL с помощью дампа и восстановления.
  • Дополнительные сведения о переносе баз данных в службу «База данных Azure для MySQL» см. в статье Руководство по миграции баз данных.

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

У меня есть сервер с очень большой базой данных mysql (160 ГБ). Как легко перенести эту БД на другой сервер?

Ответ 1

Когда вы говорите «переехать на другой сервер», мы предполагаем, что вы хотите переехать на другой сервер с MySQL, а не на другой SQL-сервер (т. е. postrgres или MSSQL).

В общем случае есть два варианта. Перенести каталог /var/lib/mysql на новый сервер как есть или выполнить процесс экспорта и импорта.

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

Процесс экспорта/импорта создаст массивный текстовый файл со всеми вашими данными, сохраненными в виде операторов вставки SQL (и с операторами создания таблиц в начале для настройки базы данных). Его можно будет импортировать в другую версию базы данных MySQL, но, опять же, если версии баз данных сильно отличаются, то все может пойти не так. Обычно лучше держать версии MySQL одинаковыми. Основная проблема при выполнении этого способа заключается в том, что при 160 Гб данных, уже имеющихся в вашей базе, дамп будет очень большим, поскольку в нем будут присутствовать дополнительные данные из операторов SQL. Вы можете использовать некоторые из перечисленных выше команд pipe для отправки данных на удаленную машину или вы можете сделать дамп файла (пропустив его через gzip для сжатия) и передать его через scp (при условии, что у вас достаточно места на диске).

mysqldump -u<user> -p<password> <database name> | gzip > db_dump.sql.gz

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

nc -l 55555 | gzip -d -c | mysql <database name> -u<user> -p<password>

На исходной машине:

mysqldump -u<user> -p<password> <database name> | gzip | nc <ip of target server> 55555

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

Ответ 2

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

  1. Отключите службы MySQL на сервере A.

  2. Упакуйте каталог данных MySQL (может быть найден в каталоге /var/lib/mysql), который содержит все данные.

  3. Скопируйте конфигурацию MySQL (может быть найдена в /etc/mysql/my.cnf).

  4. Скопируйте оба файла через SSH/SCP на сервер B.

  5. Извлеките данные, поместите файл конфигурации в те же директории.

  6. (Пере)запустите службы MySQL на сервере B.

  7. Вы можете найти путь к вашей директории данных MySQL в файле конфигурации MySQL (my.cnf).

Имейте в виду, что вы должны использовать одну и ту же версию MySQL на обоих серверах! Если это не так, вам следует экспортировать и импортировать данные с помощью дампов MySQL.

Ответ 3

Базы данных MySQL хранятся очень простым способом:

dir = имена баз данных файлы в dir — это таблицы, индексы и т. д.

Поэтому найдите, где находятся ваши базы данных — возможно, что-то вроде этого:

/var/lib/mysql

 Здесь у вас будут все ваши базы данных, а в них — таблицы.

Теперь, когда вы нашли их, остановите MySQL и просто заархивируйте структуру каталогов.

tar -zcf mysqldatabases.tar.gz *.

Теперь у вас есть все материалы MySQL в одном заархивированном файле. Скопируйте его в каталог данных нового сервера и распакуйте/разархивируйте его.

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

Статья создана совместно с хостинг-провайдером Спринтхост.

Что такое база данных?

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

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

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

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

Также вы можете воспользоваться нашими инструкциями и сделать все самостоятельно.

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

Дамп — это копия БД в формате .sql, набор инструкций для воссоздания структуры базы данных и наполнения ее информацией. То есть, если открыть этот файл в текстовом документе, то в нем вы найдете набор команд SQL. Дамп также можно использовать в качестве резервной копии и хранить его на локальном компьютере. В случае утери всей БД, вы сможете восстановиться из дампа.

Создать дамп можно несколькими способами:

  1. В панелях управления хостингов иногда присутствует возможность скачать дамп одной кнопкой. Например, в Спринтхост это можно сделать через раздел «Базы данных» Панели управления. Достаточно кликнуть по названию нужной БД и нажать кнопку «Скачать резервную копию». Там же можно и загрузить уже существующий дамп на хостинг.
  2. В веб-интерфейсе phpMyAdmin во вкладке «Экспорт».
  3. Утилитой mysqldump в консоли.

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

Как скачать дамп через phpMyAdmin

phpMyAdmin — веб-интерфейс для работы с базами данных MySQL. Он доступен как в Спринтхост, так и у подавляющего большинства других площадок.

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

2. В левой части интерфейса есть список баз, кликните по той, которая вам необходима.

3. Затем в правой части зайдите во вкладку «Экспорт» и нажмите «Вперед».

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

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

У phpMyAdmin дружественный интерфейс, поэтому с ним легко работать.

Создание и загрузка дампа через консоль

Способ подключения по SSH зависит от операционной системы, на которой вы работаете. У Linux это встроенная консоль, а у Windows — SSH-клиент PuTTY, который нужно сначала скачать. Для создания дампа БД в консоли необходимо использовать утилиту mysqldump.

1. Соединитесь с сервером по SSH.

ssh [email protected]

Здесь login — логин в Панели управления, domain. ru — любой из доменов, размещаемых на хостинге. Вместо домена можно указать IP-адрес сервера, который можно посмотреть в Панели управления.

2. Введите пароль для входа в Панель управления. Не переживайте, что в консоли ничего не вводится — это такая защита от «лишних глаз».

3. После ввода пароля можно создать дамп следующей командой:

mysqldump -u user -p dbname > dump.sql 

user — это имя пользователя вашей БД, dbname — название БД, dump.sql — название файла, в который будет сохранен дамп.

3. Введите пароль пользователя БД (не перепутайте с паролем для входа по SSH, так как они могут отличаться).

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

Иногда консоль может выдать такую ошибку «mysqldump: Error: ‘Access denied; you need (at least one of) the PROCESS privilege(s) for this operation’ when trying to dump tablespaces». Не пугайтесь, она ни на что не влияет, дамп спокойно создастся.

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

1. Снова подключитесь по SSH к хостингу, на который переносите БД, и введите пароль;

2. Перейдите в директорию (папку), где лежит файл с дампом, при помощи команды cd. Если он находится в корневой папке, то переходить никуда не нужно — оставайтесь на месте:

cd domains/domain.ru

«domains/domain.ru» — это путь до директории domain.ru.

В нужной директории введите:

mysql -u user -p dbname < dump.sql

user — имя пользователя вашей БД, dbname — название вашей БД, dump.sql — имя файла дампа, который нужно импортировать;

Если утилита mysql завершила работу без ошибок, дамп будет корректно загружен в БД.

Работа через FTP

Через FTP нельзя создать дамп и загрузить его сразу в БД, но можно скачать существующий к себе на компьютер или, наоборот, «забросить» его в файловый менеджер хостинга, а потом уже при помощи консоли перенести в базу данных. Для подключения существует несколько FTP-клиентов, но самый популярный и известный — FileZilla. Данные по подключению уточните у вашего хостинг-провайдера, мы будем рассказывать на примере Спринтхост.

1. Для подключения удобно использовать панель быстрого соединения в верхней части программы. Заполните поля: хост – IP-адрес вашего аккаунта, имя пользователя – логин от Панели управления и пароль пользователя. По умолчанию для соединения FileZilla использует 21 порт;

2. Нажмите кнопку «Быстрое соединение»;

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

Что делать, если ничего не получается?

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

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

Как скопировать базу данных WordPress с помощью phpMyAdmin

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

дублировать или клонировать базу данных WordPress с помощью phpMyAdmin Изображение с сайта wpbeginner.com

Зачем использовать phpMyAdmin для дублирования базы данных WordPress

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

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

Вы можете узнать больше об этом в нашем руководстве по управлению базой данных WordPress с помощью phpMyAdmin.

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

Дублировать / клонировать базу данных WordPress с помощью phpMyAdmin

Во-первых, вам нужно посетить панель управления cPanel вашей учетной записи хостинга. После входа в систему прокрутите вниз до раздела «Базы данных» и щелкните значок phpMyAdmin.

Значок phpMyAdmin в cPanel Изображение с сайта wpbeginner. com

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

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

Выберите свою базу данных WordPress Изображение с сайта wpbeginner.com

На этом экране вы увидите список доступных баз данных. Вам нужно щелкнуть по базе данных WordPress из списка.

Затем вы увидите список таблиц в базе данных WordPress. Нажмите ссылку «Операции» в верхнем меню, чтобы продолжить.

Операции с базой данных в моем phpmyadmin Изображение с сайта wpbeginner.com

Теперь вам нужно указать имя для новой дублирующей базы данных в поле «Копировать базу данных в». Убедитесь, что выбран параметр «Структура и данные», а затем нажмите кнопку «Перейти».

Копировать базу данных Изображение с сайта wpbeginner. com

PhpMyAdmin теперь создаст для вас дубликат базы данных WordPress. По завершении вы увидите сообщение об успешном завершении.

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

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

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

В этом случае вы не сможете увидеть поле «Копировать базу данных в» на странице операций.

Однако вы все равно можете экспортировать существующую базу данных, а затем импортировать ее в новую базу данных. Для этого посетите phpMyAdmin на панели управления cPanel.

После выбора базы данных WordPress нажмите кнопку экспорта в верхнем меню и выберите собственный метод.

Экспорт базы данных с помощью phpMyAdmin Изображение с сайта wpbeginner.com

Теперь вам нужно перейти к разделу вывода и установить флажок «Сохранить вывод в файл».

Настройки вывода Изображение с сайта wpbeginner.com

Нажмите кнопку «Перейти», чтобы продолжить.

phpMyAdmin теперь экспортирует вашу базу данных WordPress и отправит ее в ваш браузер в виде файла .mysql.

Затем вам нужно создать новую базу данных, в которую вы можете импортировать этот файл. Посетите панель управления cPanel и щелкните значок «Базы данных MySQL».

Базы данных MySQL в cPanel Изображение с сайта wpbeginner.com

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

Новая база данных Изображение с сайта wpbeginner.com

Cpanel теперь создаст новую базу данных MySQL. Однако, чтобы использовать базу данных, вам необходимо назначить ее пользователю MySQL.

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

Добавить пользователя в базу данных Изображение с сайта wpbeginner.com

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

Cpanel теперь предоставит пользователю MySQL полные права доступа к вашей вновь созданной базе данных.

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

Вам нужно выбрать вновь созданную базу данных и затем нажать кнопку импорта в верхнем меню.

Импортировать базу данных Изображение с сайта wpbeginner.com

Затем нажмите кнопку выбора файла, чтобы выбрать файл .mysql, который вы загрузили ранее, и нажмите кнопку «Перейти», чтобы продолжить.

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

База данных WordPress успешно импортирована Изображение с сайта wpbeginner.com

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

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

ShareIT – поделись знаниями!

Полезно

Узнать IP – адрес компьютера в интернете

Онлайн генератор устойчивых паролей

Онлайн калькулятор подсетей

Калькулятор инсталляции IP – АТС Asterisk

Руководство администратора FreePBX на русском языке

Руководство администратора Cisco UCM/CME на русском языке

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Популярное и похожее

Пошаговый ввод в домен Windows 10

Apache или IIS – сравнение и преимущества

База данных Hadoop – увеличь свой хобот

Лучшие практики по защите SSH подключения

Перенос базы данных MySQL со старого на новый сервер

Дорогая, мы переезжаем!

3 минуты чтения

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

Подготовка

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

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

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

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

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

Если база одна, то можно использовать команду:

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

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

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

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

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

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

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

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

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

Готово! Мы только что очень быстро и просто выполнили миграцию всех баз со старого сервера на новый.

Пожалуйста, расскажите почему?

Нам жаль, что статья не была полезна для вас 🙁 Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

Подпишитесь на нашу еженедельную рассылку, и мы будем присылать самые интересные публикации 🙂 Просто оставьте свои данные в форме ниже.

SysAdmin-s notepad. DoFollow.

Недавно встал вопрос переноса сайта с одного хостинга на другой. С сайтами на одном только html и css без баз данных — трудностей возникать не должно. Танцы с бубном начинаются когда вы являетесь счастливым обладателем сайта с базой данных. Сейчас таких сайтов в интернете — подавляющее большинство.

Сами файлы сайта мы можем перенести с помощью обычного копирования с хостинга на хостинг

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

2. Загрузить дамп базы данных на сервер хостинга (операция Импорт).

Сделать это можно несколькими различными способами. Некоторые CMS даже позволяют выполнять данные операции своими внутренними средствами. Также можно воспользоваться дампером баз данных MySQL . Но самый привычный и распространенный способ для переноса баз данных — это перенос средствами панели управления базами данных phpMyAdmin , которые хотелось бы рассмотреть в этой статье.

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

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

Нужно перейти на вкладку «Экспорт» и выбрать в качестве «Способа экспорта» — Обычный — отображать все возможные настройки.

После этого нужно обратить свое внимание на поля:
1. Во вкладке таблицы должны быть выбраны все таблицы, которые необходимо импортировать. Может быть такая ситуация, когда для переноса баз данных некоторые таблицы при импорте будут не нужны. В таком случае, можно снять выделение с тех таблиц, которые не нужны, выделив необходимые названия таблиц с зажатой клавишей Ctrl на клавиатуре. ( ВАЖНО! Если вы не являетесь опытным пользователем баз данных — лучше выделить все таблицы. )
2. Нужно выбрать пункт «Сохранить вывод в файл».
3. Запомните кодировку, которая установлена в поле — Кодировка файла.
4. Остальные пункты трогать не нужно, если вы не знаете, зачем они нужны.
5. Нажимаем OK, после чего сохраняем файл к себе на компьютер.

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

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

1. Проверяем расширение сохраненной базы дынных у себя на компьютере. Оно должно быть ‘ .sql ‘. Если при сохранении базы данных был указан пункт — архивировать её ( zip, gzip, bzip ) — нужно предварительно извлечь базу данных из архива.
2. Дамп нашей базы данных не должен содержать запросов типа «CREATE DATABASE, /*!40101 SET @OLD» . Убедиться в отсутствии или наличии подобного запроса можно, открыв дамп базы «блокнотом» или другим текстовым редактором. Если подобный запрос присутствует — следует удалить эту строчку и пересохранить файл. Как правило, она находится в первых 15 строчках дампа базы данных.
3. Необходимо убедиться, что в будующей базе данных не создано каких-либо таблиц. Для этого нужно зайти в phpMyAdmin и слева в меню в списке баз данных выбрать свою базу данных. Слева в меню вы можно увидеть сообщение «Таблиц в базе данных не обнаружено.». В случае если таблицы присутствуют — нужно удалить их.

После выполнения всех этих пунктов, смело можно переходить во вкладку «Импорт», в которой нажав на кнопку «Обзор» выбераем сохраненный дамп базы данных с компьютера. В поле «Кодировка файла:» выбераем кодировку, в которой эта база данных была создана.

Более никаких настроек вносить необходимости нет. Нажмите ОК и дожидаемся окончания импорта базы.

База успешно перенесена и после этого наш сайт будет работать уже на новом хостинге!( при условии, что все остальные операции по переносу сайта уже были сделаны).

Есть 2 обычных хостинга
На первом есть база размером больше 20 гб.

Вопрос как перенести эту базу на другой хостинг?

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

  • Вопрос задан 25 июн.
  • 124 просмотра

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

P. S. База маленькая

Антон Шелестов, ну, зависит от ваших нужд. К примеру:

Антон Шелестов, phpmyadmin – зло. Используйте, например, mysql workbench через ssh туннель.
Дмитрий Шицков малость неправильно расписал команду по дампу. Должно быть так:

На первом сервере делаете mysqldump, не забыв его сжать

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

Антон Шелестов Срабатывает таймаут либо на соединение, либо на выполнение запроса.

Есть два варианта:

1. Залогиниться в консольном клиенте mysql и выполнить команду
SOURCE /path/filename.sql;
Тем самым можно видеть в реальном времени, что происходит при импорте.

2. Использовать продвинутые средства бэкапа percona xtrabackup. Развертывание дампа огромных БД выполняются за удивительно короткие сроки. К примеру, 90 ГБ БД разворачивается примерно за 20-40 минут. Но тут есть определенные требования к структуре схемы таблиц.

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

Перенос базы данных на хостинг. Перенос базы данных MySQL на другой сервер

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

Если Вы имеете доступ по телнет или SSH на оба сервера, то последовательность Ваших действий будет следующей:
Заходите по телнет/SSH на исходный сервер. Экспортируете содержание Вашей базы данных следующей командой:

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

Есть SQL-дамп базы данных, который весит 76 МБ. Я хочу перенести эту базу данных на новый хостинг. Пробовал 2 способа:

1) Через phpmyadmin. Не получается по максимальному размеру (там стоит 2 МБ).
2) С помощью скрипта bigdump ( http://www.ozerov.de/bigdump.php ). Из-за неопределённой причины запись прерывается.

Как всё же перенести базу данных с одного хостинга на другой?

Как можно перенести базу данных с одного компа на другой?
Добрых суток! Подскажите, как можно перенести базу данных (MySQL) с одного компа на другой. Что.

Как перенести базу данных с одного компьютера на другой?
Здравствуйте) на 2х компьютерах есть vs2008, на одном создал проект и базу данных. Решил базу.

Как перенести сайт с одного хостинга на другой?
Доброго времени суток! Подскажите, пожалуйста, у нас есть сайт на timeweb и мы хотим также.

Как правильно перенести сайт с одного хостинга на другой?
На старом хостинге экспортирую БД. потом с помощью ftp скачиваю все файлы сайта. потом на новом.

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

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

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

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

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

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

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

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

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

Импортируем

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Какие способы бывают?

1 — при помощи интерфейса phpMyAdmin.

2 — при помощи панели управления хостинг-провайдера.

3 — при помощи сторонней программы.

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

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

Создаем базу данных на новом хостинге

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

1 — Ищем раздел “MySQL”, “Базы данных” или что-то похожее.

2 — В нем нажимаем “Создать”.

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

4 — База данных создана, но она пока что пустая.

Экспортируем БД со старого хостинга

Сейчас мы воспользуемся тем, что называют дамп базы данных. Т.е. сохраним текущую БД с сервера, к себе на компьютер. Для этого нам понадобится интерфейс phpMyAdmin, который нужно отыскать в личном кабинете хостинг-провайдера, у которого находится Ваш текущий сайт. Опять же единого алгоритма нет, поэтому приводим общую схему:

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

4 — Возможно Вас попросят выбрать способ экспорта “Обычный” (много настроек) или “Быстрый” (мало настроек). Не имеет значения какой выбирать, главное изменить только те настройки, которые мы описываем ниже.

5 — Нужно выбрать все таблицы, нажав на кнопку “Выделить все”.

7 — На всякий случай, запоминаем кодировку, но не трогаем ее.

8 — Жмем “Ок” и сохраняем файл с БД себе на компьютер. Обычно сохраняемый файл имеет расширение.sql.

Импорт БД на сервер нового хостера

1 — Таким же образом ищем phpMyAdmin на новом хостинге.

2 — В нем выбираем нужную базу данных (мы ее создавали в начале статьи, и она осталась пустой).

3 — Жмем на вкладку “Импорт”.

4 — Нажимаем “Обзор” и выбираем сохраненную на компьютере базу данных.

5 — Проверьте, чтобы кодировка совпадала с той, в которой Вы сохраняли БД.

6 — Больше ничего не меняете, жмете “Ок” и Ваша база данных импортируется на новый хостинг.

Какие бывают проблемы?

1 — При импорте БД в ней не должно быть запросов типа «CREATE DATABASE, /*!40101 SET @OLD ». Чтобы проверить их наличие — откройте файл БД на своем компьютере любым текстовым редактором (лучше всего подходит Notepad++) и через Ctrl+А поищите эти запросы. Если найдете, то просто удалите их, и попробуйте снова импортировать БД.

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

Последнее обновление: 31.10.2015

Сохранение в базу данных файлов

Рассмотрим, как мы можем сохранять файлы, в частности, файлы изображений в базу данных. Для этого добавим в базу данных новую таблицу Images с четырьмя столбцами: Id (первичный ключ и идентификатор, имеет тип int), FileName (будет хранить имя файла и имеет тип nvarchar), Title (будет хранить заголовок файла и также имеет тип nvarchar) и ImageData (будет содержать бинарные данные файла и имеет тип varbimary(MAX)).

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

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

Извлечение файлов из базы данных

В прошлой теме мы рассмотрели, как добавить файл в базу данных. Теперь произведем обратную операцию — получим файл из БД. Вначале определим класс файла, который упростит работу с данными:

Затем в коде программы определим следующий метод:

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

Здравствуйте друзья! Статья касается блогосферы и в ней мы рассмотрим сохранение базы данных сайта на хостинге TimeWeb.

Хостинг TimeWeb, базы данных сайт

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

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

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

Сайт размещен на хостинге TimeWeb (движок WordPress). Базу данных сайта сохраняю один раз в неделю, кто-то делает чаще, кто-то реже – это дело каждого. Сохранять надо две основные структуры сайта, это файловая система и база данных сайта. В файловую систему входят: движок WordPress, установленные темы, плагины и картинки.

В базу данных входит контент сайта (страницы, статьи, комментарии). Хостинг TimeWeb постоянно делает backup и хранит их в течении последних трёх суток. Можно сохранять данные из админпанели, можно напрямую с хотинга, я делаю по второму варианту.

Итак, заходим на хостинг в панель управления (Рис.1).

Нажимаем кнопку «Управление BACKUP». В открывшемся окне, нажимаем на стрелку в строке public_html. Подтверждаете, что Вы действительно хотите сохранить архив файла/директории public_html в Вашем домашнем каталоге (Рис. 2).

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

Архивация длится несколько минут (всё зависит от объёма данных на сайте). После этого нажимаем «На стартовую страницу» (внизу таблицы) и на главной странице нажимаем «Файловый менеджер». Выбираем по дате архивации нужные нам два файла и поочередно их сохраняем.

Для этого по выделенным файлам, поочередно, делаем двойной щелчок мышкой (Рис. 3), спрашивается куда сохранить, сохраняем. Сохранённые файлы прячем в надёжные папки, лишним не будет сохранить их на диск DVD. Обязательно сохраняйте свои данные.

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

Как правило перенести сайт с другого хостинга

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

Подготовка

Чтобы выбрать правильный хостинг, сначала изучите следующую информацию:

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

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

Панель управления

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

Оплата хостинга

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

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

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

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

Резервное копирование

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

Проверка работоспособности

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

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

  • проверку IP-адреса, по которому отвечает присвоенное доменное имя;
  • просканировать сайт на наличие битых ссылок;
  • проверить исправность всех существующих элементов;
  • протестировать почтовый клиент.

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

Как скопировать базу данных MySQL

Резюме : в этом руководстве показано, как копировать базу данных MySQL на тот же сервер и с одного сервера на другой.

Скопируйте базу данных MySQL на тот же сервер

Чтобы скопировать базу данных MySQL, выполните следующие действия:

  1. Сначала создайте новую базу данных с помощью инструкции CREATE DATABASE .
  2. Во-вторых, экспортируйте все объекты базы данных и данные базы данных, из которой вы хотите скопировать, используя 9Инструмент 0012 mysqldump .
  3. В-третьих, импортируйте файл дампа SQL в новую базу данных.

Для демонстрации мы скопируем базу данных classicmodels в базу данных classicmodels_backup .

Шаг 1 . Создайте базу данных classmodels_backup :

Сначала войдите на сервер базы данных MySQL:

 

>mysql -u root -p Введите пароль: **********

Язык кода: SQL (язык структурированных запросов) (sql)

Затем используйте оператор CREATE DATABASE следующим образом:

 

> CREATE DATABASE classicmodels_backup;

Язык кода: SQL (язык структурированных запросов) (sql)

В-третьих, используйте команду SHOW DATABASES для проверки:

 

> SHOW DATABASES

Язык кода: SQL (язык структурированных запросов) (sql)

Сервер базы данных MySQL возвращает следующий вывод:

 

+----------------------+ | База данных | +----------------------+ | классические модели | | классические модели_бэкап | | информационная_схема | | MySQL | | представление_схема | | система | +----------------------+ 6 рядов в сете (0,00 сек)

Язык кода: SQL (язык структурированных запросов) (sql)

Как видите, мы успешно создали базу данных classicmodels_backup .

Шаг 2 . Дамп объектов базы данных и данных в файл SQL с помощью инструмента mysqldump .

Предположим, вы хотите выгрузить объекты базы данных и данные базы данных classicmodels в файл SQL, расположенный в папке D:\db , вот команда:

 

>mysqldump -u root -p classicmodels > d:\db\classicmodels.sql Введите пароль: **********

Язык кода: SQL (язык структурированных запросов) (sql)

В основном эта команда инструктирует mysqldump для входа на сервер MySQL с использованием учетной записи пользователя root с паролем и экспорта объектов базы данных и данных базы данных classicmodels в d:\db\classicmodels.sql . Обратите внимание, что оператор ( > ) означает экспорт.

Шаг 3 . Импортируйте файл d:\db\classicmodels.sql в базу данных classicmodels_backup .

 

> mysql -u root -p classicmodels_backup < d:\db\classicmodels.sql Введите пароль: **********

Язык кода: SQL (язык структурированных запросов) (sql)

Обратите внимание, что оператор ( < ) означает импорт.

Для проверки импорта можно выполнить быструю проверку с помощью команды SHOW TABLES .

 

> ПОКАЗАТЬ ТАБЛИЦЫ ИЗ classicmodels_backup;

Язык кода: SQL (язык структурированных запросов) (sql)

Он вернул следующий вывод:

 

+--------------------- -----------+ | Tables_in_classicmodels_backup | +--------------------------------+ | клиенты | | сотрудники | | офисы | | детали заказа | | заказы | | платежи | | продуктовые линии | | продукты | +--------------------------------+ 8 рядов в сете (0,01 сек)

Язык кода: SQL (язык структурированных запросов) (sql)

Как видите, мы успешно скопировали все объекты и данные из базы данных classicmodels в базу данных classicmodels_backup .

Копирование базы данных MySQL с одного сервера на другой

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

  1. Экспорт базы данных на исходном сервере в файл дампа SQL.
  2. Скопируйте файл дампа SQL на целевой сервер
  3. Импорт файла дампа SQL на целевой сервер

Давайте посмотрим, как скопировать базу данных classicmodels с одного сервера на другой.

Сначала экспортируйте базу данных classicmodels в файл db.sql .

 

>mysqldump -u root -p --базы данных классические модели > d:\db\db.sql Введите пароль: **********

Язык кода: SQL (язык структурированных запросов) (sql)

Обратите внимание, что 9Параметр 0012 --database позволяет mysqldump включать операторы CREATE DATABASE и USE в файл дампа SQL. Эти инструкции создадут базу данных classicmodels на целевом сервере и сделают новую базу данных базой данных по умолчанию для загрузки данных.

Короче говоря, следующие операторы включаются в начало файла дампа SQL, когда мы используем параметр --database .

 

СОЗДАТЬ БАЗУ ДАННЫХ `classicmodels`. ИСПОЛЬЗОВАТЬ `классические модели`;

Язык кода: SQL (язык структурированных запросов) (sql)

В-третьих, импортируйте файл db.sql на сервер базы данных, предполагая, что файл db.sql был скопирован в папку c:\tmp\ .

 

> mysql -u root -p classicmodels < c:\tmp\db. sql

Язык кода: SQL (язык структурированных запросов) (sql)

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

Было ли это руководство полезным?

MySQL: клонирование базы данных MySQL на том же экземпляре MySql

Как упоминалось в ответе Грега, mysqldump db_name | mysql new_db_name — это бесплатный, безопасный и простой способ передачи данных между базами данных. Однако это также очень медленный .

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

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

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

Системы, протестированные на (но все же могут выйти из строя):

  • Ubuntu 16.04, по умолчанию mysql, innodb, отдельные файлы для каждой таблицы
  • Ubuntu 18.04, mysql по умолчанию, innodb, отдельные файлы на таблицу

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

  1. Получает привилегию sudo и проверяет, что у вас достаточно места для клонирования базы данных
  2. Получает привилегии root mysql
  3. Создает новую базу данных, названную в честь текущей ветки git
  4. Клонирует структуру в новую базу данных
  5. Переключается в режим восстановления для innodb
  6. Удаляет данные по умолчанию в новой базе данных
  7. Останавливает mysql
  8. Клонирует данные в новую базу данных
  9. Запускает mysql
  10. Связывает импортированные данные с новой базой данных
  11. Выходит из режима восстановления для innodb
  12. Перезапуск MySQL
  13. Предоставляет пользователю mysql доступ к базе данных
  14. Очищает временные файлы

В базе данных размером 3 ГБ использование mysqldump и mysql на моей машине заняло бы 40-50 минут. Используя этот метод, тот же процесс займет всего ~ 8 минут.

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

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

Мы попробовали mysqldump продублировать базу данных для разных веток, но время ожидания было слишком долгим (40-50 минут), и мы не могли ничего сделать за это время.

Это решение сократило время клонирования базы данных до 1/5 времени (подумайте о кофе-брейке и перерыве в ванной вместо долгого обеда).

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

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

Создать ветвь функций с изменениями базы данных и немедленно объединить:

  • Одна база данных: ~5 минут
  • Клон с mysqldump : 50-60 минут
  • Клон с этим кодом: ~18 минут

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

main для исправления ошибки, внести изменения в функциональную ветвь и объединить:
  • Одна база данных: ~60 минут
  • Клон с mysqldump : 50-60 минут
  • Клон с этим кодом: ~18 минут

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

main за исправление 5 ошибок при внесении изменений в промежуточную ветку функций и слияние:
  • Отдельная база данных: ~4 часа 40 минут
  • Клон с mysqldump : 50-60 минут
  • Клон с этим кодом: ~18 минут

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

 #!/bin/bash
установить -е
# Этот скрипт взят из: https://stackoverflow.com/a/57528198/526741
функция сейчас {
    дата "+%H:%M:%S";
}
# Ведущий пробел отключает сообщения от хода выполнения шага.
эхоуспех () {
    printf "\e[0;32m %s: %s\e[0m\n" "$(сейчас)" "$1"
    спать .1
}
эхопредупреждение () {
    printf "\e[0;33m %s: %s\e[0m\n" "$(сейчас)" "$1"
    спать .1
}
эхоошибка () {
    printf "\e[0;31m %s: %s\e[0m\n" "$(сейчас)" "$1"
    спать .1
}
эхоуведомление () {
    printf "\e[0;94m %s: %s\e[0m\n" "$(сейчас)" "$1"
    спать .1
}
эхоинструкции () {
    printf "\e[0;104m %s: %s\e[0m\n" "$(сейчас)" "$1"
    спать .1
}
эхошаг () {
    printf "\e[0;90mШаг %s из 13:\e[0m\n" "$1"
    спать .1
}
MYSQL_CNF_PATH='/etc/mysql/mysql.conf.d/recovery.cnf'
OLD_DB='ВАША_БАЗА_ДАННЫХ_ИМЯ'
ПОЛЬЗОВАТЕЛЬ='ВАШ_MYSQL_USER'
# Вы можете изменить NEW_DB на что угодно
# Прямо сейчас он добавит имя текущей ветки git к имени существующей базы данных
BRANCH=`git rev-parse --abbrev-ref HEAD`
NEW_DB="${OLD_DB}__$ФИЛИАЛ"
THIS_DIR=. /сайт/обновления
DB_CREATED=ложь
tmp_file () {
    printf "$THIS_DIR/$NEW_DB.%s" "$1"
}
sql_on_new_db () {
    mysql $NEW_DB --unbuffered --skip-column-names -u root -p$PASS 2>> $(tmp_file 'errors.log')
}
общая_очистка () {
    echoinstructions 'Оставьте это работающим, пока все будет очищено...'
    если [ -f $(tmp_file 'errors.log') ]; тогда
        echowarn 'Дополнительные предупреждения и ошибки:'
        кошка $(tmp_file 'errors.log')
    фи
    для f в $THIS_DIR/$NEW_DB.*; делать
        echonotice 'Удаление временных файлов, созданных для переноса...'
        rm -f $THIS_DIR/$NEW_DB.*
        ломать
    Выполнено
    эхо-уведомление "Готово!"
    echoinstructions "Вы можете закрыть это сейчас :)"
}
ошибка_очистка () {
    код выхода=$?
    # На тот случай, если скрипт был закрыт во время командной строки
    эхо
    если [ "$exitcode" == "0" ]; тогда
        echoerror "Сценарий завершился преждевременно, но код завершения был "0"."
    фи
    echoerror "Следующая команда в строке ${BASH_LINENO[0]} завершилась с кодом $exitcode:"
    эхо "$BASH_COMMAND"
    если [ "$DB_CREATED" = true ]; тогда
        эхо
        echonotice "Удаление базы данных \`$NEW_DB\`, если она создана. .."
        echo "УДАЛИТЬ БАЗУ ДАННЫХ \`$NEW_DB\`;" | sql_on_new_db || echoerror "Не удалось удалить базу данных \`$NEW_DB\` (см. предупреждения)"
    фи
    general_cleanup
    выход $exitcode
}
ловушка error_cleanup ВЫХОД
mysql_path () {
    printf "/var/lib/mysql/"
}
старый_db_path () {
    printf "%s%s/" "$(mysql_path)" "$OLD_DB"
}
новый_дб_путь () {
    printf "%s%s/" "$(mysql_path)" "$NEW_DB"
}
получить_таблицы () {
    (sudo find /var/lib/mysql/$OLD_DB -name "*.frm" -printf "%f\n") | вырезать -д'.' -f1 | Сортировать
}
ШАГ=0
аутентифицировать () {
    printf "\е[0;104м"
    sudo ls &> /dev/null
    printf "\e[0m"
    echonotice "Аутентифицировано".
}
эхошаг $((++ШАГ))
аутентифицировать
TABLE_COUNT=`get_tables | туалет -l`
SPACE_AVAIL=`df -k --output=avail $(mysql_path) | хвост -n1`
SPACE_NEEDED=(`sudo du -s $(old_db_path)`)
SPACE_ERR=`echo "$SPACE_AVAIL-$SPACE_NEEDED" | до н.э.
SPACE_WARN=`echo "$SPACE_AVAIL-$SPACE_NEEDED*3" | до н.э.
если [ $SPACE_ERR -lt 0 ]; тогда
    echoerror 'Недостаточно места для ветвления базы данных. [Yy]$ ]]; тогда
        echonotice "База данных НЕ была разветвлена"
        выход 1
    фи
фи
ПРОХОД = 'плохой проход'
подключить_к_дб () {
    printf "\e[0;104m %s: root-пароль MySQL: \e[0m" "$(сейчас)"
    читать -s ПРОХОД
    ПРОХОД=${ПРОХОД:-badpass}
    эхо
    echonotice "Подключение к MySQL..."
}
создать_дб () {
    echonotice 'Создание пустой базы данных...'
    echo "СОЗДАТЬ БАЗУ ДАННЫХ \`$NEW_DB\` НАБОР СИМВОЛОВ utf8mb4 СОРТИРОВАТЬ utf8mb4_unicode_ci" | mysql -u root -p$PASS 2>> $(tmp_file 'errors.log')
    DB_CREATED=истина
}
build_tables () {
    echonotice 'Получение и построение структуры базы данных...'
    mysqldump $OLD_DB --skip-comments -d -u root -p$PASS 2>> $(tmp_file 'errors.log') | pv --width 80 --name "$(сейчас)" > $(tmp_file 'dump.sql')
    pv --width 80 --name " $(сейчас)" $(tmp_file 'dump.sql') | sql_on_new_db
}
set_debug_1 () {
    echonotice 'Переход в режим восстановления для innodb...'
    printf '[mysqld]\ninnodb_file_per_table = 1\ninnodb_force_recovery = 1\n' | судо-тройник $MYSQL_CNF_PATH > /dev/null
}
set_debug_0 () {
    echonotice 'Выход из режима восстановления для innodb. ..'
    sudo rm -f $MYSQL_CNF_PATH
}
discard_tablespace () {
    echonotice 'Отключение данных по умолчанию...'
    (
        echo "ИСПОЛЬЗУЙТЕ \`$NEW_DB\`;"
        echo "УСТАНОВИТЬ Foreign_key_checks = 0;"
        получить_таблицы | при чтении строки -r;
            do echo "ALTER TABLE \`$line\` DISCARD TABLESPACE; SELECT 'Таблица \`$line\` импортирована.';";
        Выполнено
        echo "УСТАНОВИТЬ Foreign_key_checks = 1;"
    ) > $(tmp_file 'discard_tablespace.sql')
    кошка $(tmp_file 'discard_tablespace.sql') | sql_on_new_db | pv --width 80 --line-mode --size $TABLE_COUNT --name " $(сейчас)" > /dev/null
}
import_tablespace () {
    echonotice 'Связывание импортированных данных...'
    (
        echo "ИСПОЛЬЗУЙТЕ \`$NEW_DB\`;"
        echo "УСТАНОВИТЬ Foreign_key_checks = 0;"
        получить_таблицы | при чтении строки -r;
            do echo "ALTER TABLE \`$line\` IMPORT TABLESPACE; SELECT 'Таблица \`$line\` импортирована.';";
        Выполнено
        echo "УСТАНОВИТЬ Foreign_key_checks = 1;"
    ) > $(tmp_file 'import_tablespace. sql')
    кошка $(tmp_file 'import_tablespace.sql') | sql_on_new_db | pv --width 80 --line-mode --size $TABLE_COUNT --name " $(сейчас)" > /dev/null
}
стоп_mysql () {
    echonotice 'Остановка MySQL...'
    sudo /etc/init.d/mysql stop >> $(tmp_file 'журнал')
}
start_mysql () {
    echonotice 'Запуск MySQL...'
    sudo /etc/init.d/mysql start >> $(tmp_file 'журнал')
}
перезапуск_mysql () {
    echonotice 'Перезапуск MySQL...'
    sudo /etc/init.d/mysql перезапустить >> $(tmp_file 'журнал')
}
копировать_данные () {
    echonotice 'Копирование данных...'
    sudo rm -f $(new_db_path)*.ibd
    sudo rsync -ah --info=progress2 $(old_db_path) --include '*.ibd' --exclude '*' $(new_db_path)
}
дать_доступ () {
    echonotice "Предоставление пользователю MySQL \`$USER\` доступа к базе данных \`$NEW_DB\`"
    echo "ПРЕДОСТАВИТЬ ВСЕ ПРИВИЛЕГИИ НА \`$NEW_DB\`.* пользователю [email protected]" | sql_on_new_db
}
эхошаг $((++ШАГ))
connect_to_db
EXISTING_TABLE=`echo "ВЫБЕРИТЕ ИМЯ_СХЕМЫ ИЗ INFORMATION_SCHEMA. SCHEMATA, ГДЕ ИМЯ_СХЕМЫ = '$NEW_DB'" | mysql --skip-column-names -u root -p$PASS 2>> $(tmp_file 'errors.log')`
если [ "$EXISTING_TABLE" == "$NEW_DB" ]
    тогда
        echoerror "База данных \`$NEW_DB\` уже существует"
        выход 1
фи
echoinstructions "Хомяки работают. Зайдите через 5-10 минут."
спать 5
эхошаг $((++ШАГ))
create_db
эхошаг $((++ШАГ))
build_tables
эхошаг $((++ШАГ))
set_debug_1
эхошаг $((++ШАГ))
discard_tablespace
эхошаг $((++ШАГ))
стоп_mysql
эхошаг $((++ШАГ))
копировать_данные
эхошаг $((++ШАГ))
start_mysql
эхошаг $((++ШАГ))
import_tablespace
эхошаг $((++ШАГ))
set_debug_0
эхошаг $((++ШАГ))
перезапуск_mysql
эхошаг $((++ШАГ))
дать_доступ
эхо
echosuccess "База данных \`$NEW_DB\` готова к использованию."
эхо
ловушка general_cleanup ВЫХОД
 

Если все пройдет гладко, вы должны увидеть что-то вроде:

Дублировать всю базу данных MySQL –

спросил

Изменено 1 год, 6 месяцев назад

Просмотрено 118 тысяч раз

Можно ли дублировать всю базу данных MySQL на сервере Linux?

Я знаю, что могу использовать экспорт и импорт, но размер исходной базы данных >25 МБ, так что это не идеально.

Можно ли использовать mysqldump или напрямую дублировать файлы базы данных?

  • mysql
  • база данных
  • linux

Сначала создайте дубликат базы данных:

 СОЗДАЙТЕ БАЗУ ДАННЫХ Duplicatedddb;
 

Убедитесь, что все права пользователя и разрешения на месте и:

 mysqldump -u admin -p originaldb | mysql -u резервная копия -pPassword Duplicatedddb;
 

11

На удаленный сервер

 mysqldump mydbname | ssh host2 "mysql mydbcopy"
 

На локальный сервер

 mysqldump mydbname | MySQL mydbcopy
 

2

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

 mysqldump --add-drop-table -u wordpress -p wordpress | mysql -u wordpress -p wordpress_backup
 

1

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

 mysqldump -u пользователь -p'пароль' имя-бд | ssh [email protected]_far_place.com mysql -u пользователь -p'пароль' имя-бд
 

нет пробела между -p[пароль]

1

Создание копии базы данных

 # mysqldump -u root -p пароль db1 > dump.sql
# mysqladmin -u root -p пароль создать db2
# mysql -u root -p пароль db2 < dump.sql
 

Вот написанный мной файл Windows bat, который объединяет предложения Винсента и Пола. Он запрашивает у пользователя имена источника и назначения.

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

 :: Создает копию базы данных с другим именем.
:: Пользователю предлагается указать источник и имя получателя.
:: Честное предупреждение: пароли передаются в строке cmd, вместо этого измените сценарий с помощью -p, если безопасность является проблемой. 
:: Раскомментируйте оставшиеся строки, если вы хотите, чтобы скрипт запрашивал имя пользователя базы данных, пароль и т. д.
:: См. также: http://stackoverflow.com/questions/1887964/дублировать всю базу данных mysql
@set MYSQL_HOME="C:\sugarcrm\mysql\bin"
@set mysqldump_exec=%MYSQL_HOME%\mysqldump
@set mysql_exec=%MYSQL_HOME%\mysql
@set SRC_PORT=3306
@set DEST_PORT=3306
@set USERNAME=TODO_USERNAME
@set ПАРОЛЬ=TODO_PASSWORD
:: КОММЕНТИРУЙТЕ любую из 4 строк ниже, если вы не хотите, чтобы они каждый раз запрашивались, и используйте значения по умолчанию, указанные выше.
@SET /p USERNAME=Введите имя пользователя базы данных:
@SET /p PASSWORD=Введите пароль базы данных:
@SET /p SRC_PORT=Введите порт базы данных SRC (обычно 3306):
@SET /p DEST_PORT=Введите порт базы данных DEST:
%MYSQL_HOME%\mysql --user=%USERNAME% --password=%PASSWORD% --port=%DEST_PORT% --execute="показать базы данных;"
@ЕСЛИ НЕ "%ERRORLEVEL%" == "0" GOTO ExitScript
@SET /p SRC_DB=Как называется база данных SRC:
@SET /p DEST_DB=Каково имя целевой базы данных (которая будет создана):
%mysql_exec% --user=%USERNAME% --password=%PASSWORD% --port=%DEST_PORT% --execute="создать базу данных %DEST_DB%;"
%mysqldump_exec% --add-drop-table --user=%USERNAME% --password=%PASSWORD% --port=%SRC_PORT% %SRC_DB% | %mysql_exec% --user=%USERNAME% --password=%PASSWORD% --port=%DEST_PORT% %DEST_DB%
@echo УСПЕШНО!!!
@GOTO ВыходУспех
:ExitScript
@echo "Не удалось скопировать базу данных"
: ВыходУспех
 

Пример вывода:

 C:\sugarcrm_backups\SCRIPTS>copy_db. bat
Введите имя пользователя базы данных: root
Введите пароль базы данных: MyPassword
Введите порт базы данных SRC (обычно 3306): 3308
Введите порт базы данных DEST: 3308.
C:\sugarcrm_backups\SCRIPTS>"C:\sugarcrm\mysql\bin"\mysql --user=root --password=MyPassword --port=3308 --execute="показать базы данных;"
+--------------------+
| База данных |
+--------------------+
| информационная_схема |
| MySQL |
| представление_схема |
| сахарcrm_550_pro |
| сахарcrm_550_ce |
| сахарcrm_640_pro |
| сахарcrm_640_ce |
+--------------------+
Как называется база данных SRC: Sugarcrm
Как называется целевая база данных (которая будет создана): Sugarcrm_640_ce
C:\sugarcrm_backups\SCRIPTS>"C:\sugarcrm\mysql\bin"\mysql --user=root --password=MyPassword --port=3308 --execute="создать базу данныхsugarcrm_640_ce;"
C:\sugarcrm_backups\SCRIPTS>"C:\sugarcrm\mysql\bin"\mysqldump --add-drop-table --user=root --password=MyPassword --port=3308 сахараcrm | "C:\sugarcrm\mysql\bin"\mysql --user=root --password=MyPassword --port=3308 Sugarcrm_640_ce
УСПЕШНЫЙ!!!
 

Это не сработает для InnoDB. Используйте этот обходной путь, только если вы пытаетесь скопировать базы данных MyISAM.

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

Резервная копия:

 # mysqlhotcopy -u root -p пароль db_name /path/to/backup/directory
 

Восстановление:

 cp /path/to/backup/directory/* /var/lib/mysql/db_name
 

mysqlhotcopy также может передавать файлы по SSH (scp) и, возможно, прямо в дубликат каталога базы данных.

 # mysqlhotcopy -u root -p пароль db_name /var/lib/mysql/duplicate_db_name
 

Это сработало для меня с командной строкой из оболочки MySQL OUTSIDE:

 # mysqldump -u root -p пароль db1 > dump.sql
# mysqladmin -u root -p пароль создать db2
# mysql -u root -p пароль db2 < dump.sql
 

Это выглядит для меня наилучшим образом. Если заархивировать «dump. sql», вы можете просто сохранить его как сжатую резервную копию. Прохладный! Для базы данных объемом 1 ГБ с таблицами Innodb около минуты требуется для создания файла «dump.sql» и около трех минут для создания дампа данных в новую базу данных db2.

Прямое копирование каталога дыры db (mysql/data/db1) у меня не сработало, я думаю, из-за таблиц InnoDB.

Мне помогли следующие строки кода:

 mysqldump --quote-names -q -u username1 --password='password1' originalDB | mysql -u имя_пользователя2 --password='пароль2' дубликатБД
 

Когда-то в MySQL можно было просто скопировать все файлы таблиц в другой каталог дерева mysql

mysql cli — создать базу данных db2

линукс кли - cp db1 db2

2

Твой ответ

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Как скопировать или клонировать базу данных MySQL

Опубликовано 18 сентября 2021 г.

Узнайте, как создать копию базы данных на платформе MySQL

Чтобы создать копию существующей базы данных MySQL, вам необходимо использовать внутренние инструменты MySQL, называемые mysqldump .

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

Вы можете использовать следующую команду, чтобы проверить, mysqldump существует на вашем компьютере:

 $ который mysqldump
/USR/локальные/mysql/bin/mysqldump
 

Приведенный выше результат показывает, что mysqldump установлен в папку bin/ папки установки MySQL.

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

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

Сначала необходимо создать файл дампа SQL существующей базы данных с помощью команды mysqldump следующим образом:

 mysqldump --user=[имя пользователя] --password=[пароль] school_db > dump.sql
 

Замените [имя пользователя] и [пароль] выше вашими реальными именем пользователя и паролем MySQL.

Теперь, когда файл dump.sql создан, необходимо создать целевую базу данных, в которую будет импортировано содержимое файла dump.sql .

Вы можете войти на свой сервер MySQL и создать новую базу данных с помощью оператора CREATE DATABASE следующим образом:

 CREATE DATABASE school_db_copy;
 

Кроме того, вы можете использовать инструмент командной строки mysqladmin , который очень похож на инструмент mysqldump .

В то время как инструмент mysqldump позволяет создавать файл дампа баз данных MySQL, инструмент mysqladmin позволяет выполнять административные задачи, такие как создание и удаление баз данных, из командной строки.

Используйте команду create для создания базы данных, как показано ниже:

 mysqladmin --user=[имя пользователя] --password=[пароль] create school_db_copy
 

Теперь, когда у вас есть новая база данных, все, что вам нужно сделать, это импортировать файл dump.sql с помощью команды mysql следующим образом:

 mysql --user=[имя пользователя] --password=[пароль] school_db_copy < dump.sql
 

Теперь база данных school_db_copy должна иметь те же самые таблицы и данные, что и school_db .

Скопировать базу данных MySQL на другой сервер

Файл дампа MySQL представляет собой набор операторов для создания таблиц и вставки значений, полученных из существующей базы данных.

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

Сначала сделайте дамп базы данных с вашего компьютера с помощью команды mysqldump :

 mysqldump --user=[имя пользователя] --password=[пароль] school_db > dump.sql
 

Затем используйте команду mysqladmin с параметром --host для создания базы данных на целевом сервере.

Например, предположим, что вы хотите создать базу данных на хосте 192.168.2.2 , вот как вы вводите команду:

 mysqladmin --host=192.168.2.2 \
--user=[имя пользователя] --password=[пароль] создать school_db_copy
 

Теперь, когда у вас есть база данных school_db_copy на целевом сервере, вы можете использовать команду mysql для запуска файла dump.sql в этой базе данных, добавив также параметр --host :

 mysql --хост=192. 168.2.2 \
--user=[имя пользователя] --password=[пароль] school_db_copy < dump.sql
 

Вот как вы копируете базу данных MySQL на другой сервер.

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

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

Например, в MySQL Workbench есть параметры Экспорт данных и Импорт/восстановление данных на вкладке Администрирование , которые помогут вам создать файл дампа MySQL, который можно использовать для копирования базы данных:

Параметры MySQL Workbench для импорта и экспорта базы данных

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

Вы можете выбрать, экспортировать ли все таблицы базы данных или только определенные таблицы.

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

Другое клиентское приложение MySQL, такое как Sequel Ace, имеет команду Duplicate Database на вкладке Database .

Вы должны иметь возможность найти аналогичную функцию в других клиентских приложениях MySQL, таких как PHPMyAdmin и SQLyog.

Как дублировать структуру, данные и индексы

dbForge Studio для MySQL

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

Прочтите руководство, чтобы узнать:

  • Способы копирования определения таблицы MySQL в MySQL
  • Примеры SQL для копирования таблицы в MySQL
  • Как скопировать данные и структуру таблицы в другую базу данных
  • Как дублировать таблицу MySQL, включая индексы и данные
  • Как вставить данные таблицы в уже существующую таблицу
  • Самый быстрый способ скопировать таблицу — с помощью инструмента с графическим интерфейсом пользователя MySQL

Как скопировать таблицу в MySQL

MySQL не имеет оператора копирования таблицы, что означает, что вам придется использовать боковые подходы для выполнения операции. Есть три популярных способы клонирования таблицы в MySQL.

1. Оператор CREATE TABLE ... AS SELECT для копирования атрибутов и данных столбца исходной таблицы.

СОЗДАТЬ ТАБЛИЦУ new_table_name
В КАЧЕСТВЕ
ВЫБРАТЬ
  *
FROM old_table_name;
                                     

2. Оператор CREATE TABLE ... LIKE для создания пустой таблицы на основе определения исходной таблицы, включая атрибуты столбцов и индексы.

CREATE TABLE new_table_name LIKE old_table_name;
                                     

3. SHOW CREATE TABLE для создания сценария создания таблицы для исходной таблицы.

ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ клиент\G
                                     

Только структура таблицы копирования MуSQL

Теперь давайте более подробно рассмотрим способы создания таблицы в MySQL с помощью операторов SQL.

Если вам нужно продублировать структуру таблицы, но не ее данные, лучше использовать оператор CREATE TABLE ... LIKE.

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

CREATE TABLE customer_new НРАВИТСЯ клиент
                                     

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

Скопировать данные таблицы в другую таблицу

Чтобы скопировать данные из одной таблицы в другую, используйте оператор INSERT INTO. Обратите внимание, что вы можете указать столбцы для копирования.

ВСТАВИТЬ В целевую_таблицу (`column1`, `column2`)
  ВЫБРАТЬ
    `столбец1`,
    `столбец2`
  ИЗ исходной_таблицы;
                                     

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

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

CREATE TABLE new_table_name LIKE old_table_name;
INSERT имя_новой_таблицы SELECT * FROM имя_старой_таблицы;
                                     

Скопировать таблицу из одной базы данных в другую

В MySQL самый простой способ скопировать таблицу с ее данными между двумя базами данных — это использовать оператор CREATE TABLE AS, но обратите внимание, что вам необходимо указать имя целевой базы данных в качестве префикса таблицы.

CREATE TABLE новое-имя-базы-данных.новое-имя-таблицы
В КАЧЕСТВЕ
SELECT * FROM old-database.old-table-name;
                                     

Если вам нужно скопировать в другую схему базы данных только структуру таблицы, используйте оператор CREATE TABLE LIKE, но опять же не забудьте указать имена баз данных. Помните, что под схемой в MySQL обычно подразумевается системная схема. Проще говоря, схема в MySQL соответствует концепции базы данных в SQL Server.

CREATE TABLE новое-имя-базы-данных.новое-имя-таблицы
НРАВИТСЯ старая-база данных.старое-имя-таблицы;
                                     

Однако, выполнив приведенный выше запрос, вы создадите клон исходной таблицы со всеми атрибутами столбцов, индексами и ключами. Чтобы скопировать только структуру таблицы, вы можете использовать предложение LIMIT в запросе, чтобы MySQL оставил данные в стороне.

CREATE TABLE новое-имя-базы-данных.новое-имя-таблицы
ВЫБРАТЬ
  *
FROM from old-database.old-table-name LIMIT 0;
                                     

Скопируйте таблицу в новую таблицу: Пример

В MySQL вам не нужно копировать всю таблицу, вы можете копировать только определенные столбцы. Для этого вы можете используйте оператор CREATE TABLE и SELECT, как показано ниже:

СОЗДАТЬ ТАБЛИЦУ new_table_name
ВЫБЕРИТЕ столбец1, столбец2, столбец3
ИЗ
    старая_таблица_таблица;
                                     

Предположим, мы хотим создать новую таблицу film_copy, которая будет состоять из трех столбцов: film_id, film_title и film_description.

СОЗДАТЬ ТАБЛИЦУ
ВЫБРАТЬ
  f.film_id,
  ф.название,
  f.описание
ИЗ пленки ф;
                                     

Самый быстрый способ скопировать таблицу в MySQL:


dbForge Studio для MySQL

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

Шаг 1. Щелкните правой кнопкой мыши таблицу, которую хотите скопировать, в Database Explorer и выберите Duplicate Object. Шаг 2. В открывшемся диалоговом окне выберите базу данных назначения. Шаг 3. Выберите, чтобы скопировать только данные или структуру таблицы. Шаг 4. Укажите имя новой таблицы и нажмите OK.

Все еще хотите создать таблицу, написав код SQL? dbForge Studio может многое предложить и в этом случае. Его расширенный редактор SQL поставляется со сложным завершением кода, надежная проверка синтаксиса, мгновенное форматирование кода и десятки других бесценных функций для ручного кодирования.

Самый быстрый и простой способ создать таблицу в MySQL — определенно с помощью dbForge Studio для MySQL!

С dbForge Studio для MySQL вы также ПОЛУЧАЕТЕ

  • Расширенный отладчик MySQL
  • Надежный профилировщик запросов
  • Визуальный построитель запросов
  • Менеджер безопасности
  • Инструменты экспорта и импорта данных
  • Схема MySQL и функциональность сравнения данных
  • Утилита сводных таблиц
  • Дизайнер отчетов

Заключение

В этой статье мы продемонстрировали наиболее популярные способы создания дублирующей таблицы в MySQL: с помощью различных операторов SQL и с помощью универсальной IDE для разработки, управления и администрирования базы данных MySQL — dbForge Studio, которая позволяет вам выполнять любые задачи, связанные с базой данных, в графическом интерфейсе. Всего за несколько кликов вы можете переименовать таблицу MySQL, выполнить миграцию базы данных MySQL, дублировать базу данных MySQL и многое, многое другое.

Студия dbForge для MySQL

Раскройте свой потенциал разработки баз данных

Скачать

Доступность в редакциях dbForge Studio для MySQL

Функция

Enterprise

Professional

Standard

Express

Дублирующий объект

простых шагов для переноса базы данных MySQL между двумя серверами

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

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

Содержание

  • Введение в MySQL
  • Действия по переносу базы данных MySQL между двумя серверами
    • Шаг 1. Резервное копирование данных
    • Шаг 2. Скопируйте дамп базы данных на целевой сервер Свалка
  • Заключение

Введение в MySQL

4411Источник изображения

MySQL — это популярная система управления реляционными базами данных (RDBMS) с открытым исходным кодом. MySQL использует простую модель клиент-сервер, чтобы помочь пользователям управлять реляционными базами данных или данными, хранящимися в строках и столбцах таблиц. Он использует хорошо известный язык запросов Structured Query Language (SQL), который позволяет пользователям выполнять все операции CRUD (создание, чтение, обновление и удаление).

MySQL изначально был создан в 1994 шведской компании MySQL AB. Sun Microsystems купила фирму в 2008 году, а Sun Microsystems в конечном итоге была выкуплена Oracle, американским ИТ-гигантом. В настоящее время Oracle отвечает за разработку и расширение MySQL. Хотя исходный код MySQL является открытым и бесплатным для всех, у него есть некоторые премиальные функции, которые Oracle предлагает исключительно клиентам, готовым заплатить за них.

MySQL — это база данных, которую выбирают более 5000 компаний, включая Uber, Netflix, Pinterest, Amazon, Airbnb, Twitter и другие.

Чтобы узнать больше о MySQL, перейдите по этой ссылке.

Hevo Data помогает вам напрямую передавать данные из MySQL и более чем из 100 источников данных (включая более 40 бесплатных источников) в инструменты бизнес-аналитики, хранилища данных или в любое место по вашему выбору совершенно беспроблемным и автоматизированным способом. Hevo полностью управляем и полностью автоматизирует процесс не только загрузки данных из желаемого источника, но и обогащения данных и преобразования их в форму, готовую для анализа, без необходимости написания ни одной строки кода. Его отказоустойчивая архитектура гарантирует, что данные обрабатываются безопасным и согласованным образом с нулевой потерей данных.

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

Начните работу с Hevo бесплатно

Давайте рассмотрим некоторые непревзойденные функции Hevo:

  • Передача данных в режиме реального времени: Hevo с его надежной интеграцией с более чем 100 источниками (включая более 30 бесплатных источников) позволяет передавать данные быстро и эффективно. Это обеспечивает эффективное использование полосы пропускания на обоих концах.
  • Преобразование данных: Предоставляет простой интерфейс для совершенствования, изменения и обогащения данных, которые вы хотите передать.
  • Безопасность: Hevo имеет отказоустойчивую архитектуру, которая гарантирует, что данные обрабатываются безопасным и согласованным образом без потери данных.
  • Невероятная доступность коннекторов: Hevo содержит большое количество коннекторов и позволяет вводить данные из многочисленных маркетинговых и SaaS-приложений, баз данных и т. д., таких как HubSpot, Marketo, MongoDB, Oracle, Salesforce, Redshift и т. д. в интегрированная и готовая к анализу форма.
  • Простота: Использование Hevo простое и интуитивно понятное, что позволяет экспортировать данные всего за несколько кликов.
  • Полностью управляемая платформа: Hevo полностью управляемая. Вам не нужно тратить время и усилия на обслуживание или мониторинг инфраструктуры, связанной с выполнением кодов.
  • Служба поддержки в режиме реального времени: Команда Hevo доступна круглосуточно, чтобы предоставить исключительную поддержку своим клиентам через чат, электронную почту и звонки в службу поддержки.

ЗАПИСАТЬСЯ НА 14-ДНЕВНУЮ БЕСПЛАТНУЮ ПРОБНУЮ ПРОБНУЮ ВЕРСИЮ!

Шаги по переносу базы данных MySQL между двумя серверами

Источник изображения

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

  • Шаг 1. Резервное копирование данных
  • Шаг 2. Скопируйте дамп базы данных на целевой сервер
  • Шаг 3. Восстановите дамп

Загрузите руководство по настройке стека аналитики данных

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

1) Сделайте резервную копию данных

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

 mysqldump -u [имя пользователя] -p [база данных] > dump.sql 

Если база данных находится на удаленном сервере, либо войдите в эту систему, используя ssh, либо используйте параметры -h и -P для указания хоста и порта соответственно .

 mysqldump -P [порт] -h [хост] -u [имя пользователя] -p [база данных] > dump.sql 

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

A) Резервное копирование определенных баз данных
 mysqldump -u [имя пользователя] -p [база данных] > dump.sql 

Эта команда выгружает указанные базы данных в файл.

Вы можете указать несколько баз данных для дампа, используя следующую команду:

 mysqldump -u [имя пользователя] -p --databases [база данных1] [база данных2] > dump. sql 

Вы можете использовать параметр –all-databases для резервное копирование всех баз данных на экземпляре MySQL.

 mysqldump -u [имя пользователя] -p --all-databases > dump.sql 
B) Резервное копирование
конкретных таблиц

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

 mysqldump -u [имя пользователя] -p [база данных] [таблица1] [ table2] > dump.sql 
C)
Пользовательский запрос

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

 mysqldump -u [имя пользователя] -p [база данных] [таблица 1] --where="WHERE CLAUSE" > dump.sql
Пример: mysqldump -u root -p testdb table1 --where="mycolumn = myvalue" > dump.sql 

Примечание :

  • По умолчанию команда mysqldump включает операторы DROP TABLE и CREATE TABLE в созданный дамп. Следовательно, если вы используете добавочные резервные копии или хотите восстановить данные без удаления предыдущих данных, убедитесь, что вы используете параметр –no-create-info при создании дампа.
 mysqldump -u [имя пользователя] -p [база данных] --no-create-info > dump.sql 
  • Если вам нужно просто скопировать схему, но не данные, вы можете использовать опцию –no-data при этом создание дампа.
 mysqldump -u [имя пользователя] -p [база данных] --no-data > dump.sql 

2) Скопируйте дамп базы данных на целевой сервер

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

 Scp -P [порт] [файл_дампа].sql [имя пользователя]@[имя сервера]:[путь к месту назначения] 

Примеры:

 scp dump.sql [email protected]:/var/data/mysql
scp -P 3306 dump.sql [email protected]:/var/data/mysql 

3) Восстановление дампа

Последним шагом является восстановление данных на целевом сервере. Команда MySQL напрямую предоставляет способ восстановления дампа данных в MySQL.

 mysql -u [имя пользователя] -p [база данных] < [файл_дампа].sql 

Пример:

 mysql -u root -p testdb < dump.sql 

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

 mysql -u root -p < dump.sql 

Заключение

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

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