Резервное копирование базы данных MySQL и восстановление ее под другим именем - PullRequest
3 голосов
/ 31 января 2011

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

Я хочу восстановить все эти данные в другую базу данных, которая называется что-то вроде original_db_name_test

Есть ли для этого команда?

Ответы [ 4 ]

8 голосов
/ 31 января 2011

Это зависит от того, как вы вызвали mysqldump

Если вы использовали mysqldump dbname, то ваш дамп не содержит ни CREATE DATABASE, ни USE DATABASE.

Просто создайте базу данных сновое имя и введите дамп на mysql -D new_dbname.

Если вы использовали mysqldump --database dbname, то дамп содержит CREATE DATABASE и USE DATABASE операторов.

Вы должны закомментировать их илизаменить на new_dbname.

2 голосов
/ 31 января 2011

mysql -u usernamehere -p original_db_name_test

1 голос
/ 31 января 2011

Если вы использовали mysqldump для создания файла дампа, просто:

  1. Создайте новую базу данных (используйте инструмент командной строки mysqladmin - "mysqladmin create [new database name] ").

  2. Отредактируйте файл дампа, добавив "USE [new database name];" вверху. (Там может быть существующим оператором использования, который закомментирован, так что вы можете изменить это и удалить комментарийэто.)

  3. Импортировать дамп в новую таблицу с помощью «mysql -u <user name> -p < [dump file name]».

Кстати, при создании дампов через mysqldump,Я бы соблазнился использовать опцию «--add-drop-table», так как она отбраковывает любую существующую таблицу с тем же именем до выдачи оператора создания таблицы.

0 голосов
/ 31 января 2011

вы можете использовать приложение MySQL Workbench и делать это с приятным графическим интерфейсом

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