如何使用mysqlimport读取mysqldump --databases的结果

时间:2010-02-19 17:08:05

标签: mysql mysqldump mysqlimport

我已成功使用

转储整个MySQL数据库
mysqldump --databases

生成一个很好的.txt文件。但是,我看不出如何一次性将整个文件读回MySQL; mysqlimport似乎一次只想要一个表。

3 个答案:

答案 0 :(得分:54)

当您使用db-dump.sql生成某个文件(例如mysqldump时,可以使用mysql命令将其导入其他数据库:< / p>

mysql --user=XXX --password=XXX --host=YOUR_HOST DATABASE_NAME < db-dump.sql


而且,如果您不希望密码出现在命令中,您可以使用:

mysql --user=XXX -p --host=YOUR_HOST DATABASE_NAME < db-dump.sql


作为旁注,如果要将一个数据库复制到另一个数据库,则不需要使用文件,只需将mysqldump的输出直接传递给mysql

mysqldump --user=XXX --password=XXX --host=SOURCE_HOST SOURCE_DB | mysql --user=XXX --password=XXX --host=DESTINATION_HOST DESTINATION_DB

(它应该更快,因为你没有使用驻留在磁盘上的临时文件)

答案 1 :(得分:14)

我经常这样做:

mysqldump -u username -p databasename > dump.sql

加载:

mysql -u username -p  targetdatabasename < dump.sql

Switch -p指示数据库在命令启动后提示您输入用户username的密码。

你的问题可能是重复的。

答案 2 :(得分:6)

你可以在mysql客户端中使用'source':

source dumpfile.sql

或直接从命令行提供:

mysql -u user -p password database < source dumpfile.sql

这是因为mysqldump的结果只是一个可以像往常一样通过mysql运行的SQL文件。