我有一个带有5个数据库的mysql转储,想知道是否有办法只导入其中一个(使用mysqldump或其他)。
建议表示赞赏。
答案 0 :(得分:27)
您可以使用mysql命令行--one-database选项。
mysql> mysql -u root -p --one-database YOURDBNAME < YOURFILE.SQL
当你这样做时要小心。
您还可以使用mysql dumpsplitter。
答案 1 :(得分:15)
您可以通过sed
管道转储的SQL,并让它为您提取数据库。类似的东西:
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
行。