Назад | Перейти на главную страницу

Выборочное восстановление определенных баз данных из полного mysqldump

У меня есть несколько баз данных Wordpress, хранящихся на VPS. Я использую следующую команду для их резервного копирования:

# mysqldump -u root -p password --all-databases > /tmp/all-database.sql

Это создает один файл. Есть ли способ восстановить из этого дампа конкретные базы?

Вы можете использовать --one-database вариант

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

так

mysql -u someone -p somedatabase <all.sql 

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

Возможно, было бы безопаснее извлечь нужную базу данных из дампа. Что-то вроде

sed -n '/^-- Current Database: somedatabase/,/^-- Current Database: `/p' all.sql > somedatabase.sql

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