I have a mysql dump with 5 databases and would like to know if there is a way to import just one of those (using mysqldump or other).
Suggestions appreciated.
Вы можете передать выгруженный SQL через sed
и он извлечет для вас базу данных. Что-то вроде:
cat mysqldumped.sql | \
sed -n -e '/^CREATE DATABASE.*`the_database_you_want`/,/^CREATE DATABASE/ p' | \
sed -e '$d' | \
mysql
Две команды sed
:
CREATE DATABASE
(включая обе строки CREATE DATABASE
), и CREATE DATABASE
строку из вывода, так как мы не хотим, чтобы mysqld создавал вторую базу данных. Если ваш дамп не содержит строк CREATE DATABASE
, вы также можете сопоставить строки USE
.
Вы можете использовать параметр командной строки mysql --one-database.
mysql> mysql -u root -p --one-database YOURDBNAME < YOURFILE.SQL
Конечно, будьте осторожны, когда делаете это.
Вы также можете использовать разветвитель дампа mysql.