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

How to use mysqlimport to read in result of mysqldump --databases

提问人:Charles Anderson 提问时间:2/20/2010 更新时间:2/20/2010 访问量:31559

问:

我已经成功地转储了整个MySQL数据库

mysqldump --databases

生成一个漂亮的.txt文件。但是,我看不到如何一次性将整个文件读回MySQL;MySQLIMPORT 似乎一次只需要一个表。

MySQL的 mysql导入

评论


答:

14赞 Evgeny 2/20/2010 #1

我经常这样做:

mysqldump -u username -p databasename > dump.sql

要加载:

mysql -u username -p  targetdatabasename < dump.sql

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

不过,您的问题可能是重复的。

6赞 Joe 2/20/2010 #2

您可以在mysql客户端中使用“source”:

source dumpfile.sql

或者直接从命令行提供:

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

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

58赞 Pascal MARTIN 2/20/2010 #3

当您生成了一些文件(比如 db-dump.sql时,您可以使用以下命令将其导入到您的其他数据库:mysqldumpmysql

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


顺便说一句,如果你想将一个数据库复制到另一个数据库,你不需要使用文件,只需直接将输出通过管道传递到:mysqldumpmysql

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

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

评论

0赞 John 1/13/2017
@Pascal马丁,我试图做同样的事情,但没有成功。这是我解释问题的线程:dba.stackexchange.com/questions/160879/......