Подтвердить что ты не робот

Импорт отдельной базы данных из дампа -all-баз данных

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

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

4b9b3361

Ответ 1

mysqldump вывод - это всего лишь набор операторов SQL.

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

mysql -D mydatabase -o < dump.sql

Это приведет только к выполнению команд, когда используется mydatabase

Ответ 2

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

mysql -u root -p --one-database destdbname < alldatabases.sql

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

Другим вариантом, который является IMHO намного безопаснее, является извлечение БД из дампа --all-databases. Пример:

sed -n '/^-- Current Database: `dbname`/,/^-- Current Database: `/p' alldatabases.sql > output.sql

Замените dbname на нужное имя базы данных. alldatabases.sql - это имя вашего файла sql-dump. Таким образом, у вас будет отдельная БД в файле, а затем вы можете восстановить ее с помощью простой команды mysql.

Удачи.

(Кредиты идут на: Darren Mothersele - см. его страницу)