LINUX.ORG.RU
ФорумAdmin

Как автоматически развернуть дамп MySQL

 ,


0

1

Подскажите, как развернуть дамп MySQL, в котором содержится более одной БД, в БД с другими именами?

Выполняю дамп:

mysqldump -uroot -p -B base1 base2 base3 > bases.sql

А развернуть нужно примерно так: base1 -> base_dds, base2 -> megabse, base3 -> lib.

Возможно mysql умеет так разворачивать, или только скриптец писать, дампить БД по одной, и потом так же скриптом их заливать?


Бекап сделанный mysqldump это текст в формате sql. В этом тексте есть:

USE `test`;
для того чтобы залить в другую базу надо поменять этот текст, можно через пайп или напрямую при чтении из файла:
perl -pe 's/USE \`base1\`;/USE \`base_dds\`/; s/USE \`base2\`;/USE \`megabse\`/; s/USE \`base3\`;/USE \`lib\`/' bases.sql | mysql -hnewhost -uroot -pmysecret

Альтернативы: использовать mydumper, там по-дефолту потабличный и бодрее будет.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.