Описание: в этой статье показано, как скопировать базу данных MySQL на одном и том же сервере и с одного сервера на другой.
Копирование базы данных MySQL на тот же сервер
Чтобы скопировать базу данных MySQL, вам необходимо выполнить следующие шаги:
- Сначала создайте новую базу данных, используя оператор CREATE DATABASE.
- Во-вторых, экспортируйте все объекты базы данных и данные базы данных, из которой вы хотите скопировать, используя инструмент mysqldump.
- В-третьих, импортируйте файл дампа SQL в новую базу данных.
Для демонстрации мы скопируем базу данных classicmodels в базу данных classicmodels_backup.
Шаг 1. Создайте базу данных classmodels_backup:
Сначала войдите на сервер базы данных MySQL:
>mysql -u root -p Enter password: **********
Затем используйте оператор CREATE DATABASE следующим образом:
> CREATE DATABASE classicmodels_backup;
В-третьих, используйте команду SHOW DATABASES для проверки:
> SHOW DATABASES
Сервер базы данных MySQL возвращает следующий вывод:
+----------------------+ | Database | +----------------------+ | classicmodels | | classicmodels_backup | | information_schema | | mysql | | performance_schema | | sys | +----------------------+ 6 rows in set (0.00 sec)
Как видите, мы успешно создали базу данных classicmodels_backup.
Шаг 2 . Копирование объектов базы данных и данные в файл SQL с помощью инструмента mysqldump.
Предположим, вы хотите сбросить объекты базы данных и данные базы данных classicmodels в файл SQL, расположенный в папке D:\db, вот команда:
>mysqldump -u root -p classicmodels > d:\db\classicmodels.sql Enter password: **********
По сути, эта команда инструктирует 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 Enter password: **********
Обратите внимание, что оператор (<) означает импорт.
Чтобы проверить импорт, вы можете выполнить быструю проверку с помощью команды SHOW TABLES.
> SHOW TABLES FROM classicmodels_backup;
Он вернул следующий вывод:
+--------------------------------+ | Tables_in_classicmodels_backup | +--------------------------------+ | customers | | employees | | offices | | orderdetails | | orders | | payments | | productlines | | products | +--------------------------------+ 8 rows in set (0.01 sec)
Как видите, мы успешно скопировали все объекты и данные из базы данных classicmodels в базу данных classicmodels_backup.
Скопируйте базу данных MySQL с одного сервера на другой
Чтобы скопировать базу данных MySQL с сервера на другой, выполните следующие действия:
- Экспортируйте базу данных на исходном сервере в файл дампа SQL.
- Скопируйте файл дампа SQL на конечный сервер
- Импортируйте файл дампа SQL на конечный сервер
Давайте посмотрим, как скопировать базу данных classicmodels с сервера на другой.
Сначала экспортируйте базу данных classicmodels в файл db.sql.
>mysqldump -u root -p --databases classicmodels > d:\db\db.sql Enter password: **********
Обратите внимание , что опция –database позволяет включить mysqldump как операторы CREATE DATABASE и USE в файле SQL дамп. Эти операторы создадут базу данных classicmodels на конечном сервере и сделают новую базу данных базой данных по умолчанию для загрузки данных.
Вкратце, следующие операторы включаются в начало файла дампа SQL, когда мы используем –databaseoption.
CREATE DATABASE `classicmodels`. USE `classicmodels`;
В-третьих, импортируйте файл db.sql на сервер базы данных, предполагая, что файл db.sql был скопирован в папку c:\tmp\.
>mysql -u root -p classicmodels < c:\tmp\db.sql
В этой статье вы шаг за шагом научились копировать базу данных MySQL на тот же сервер и копировать базу данных с одного сервера на другой.