如何在Windows Vista中将mysqldump .sql文件加载到MySQL数据库中

我试图将一个MySQL数据库从一台Linux机器迁移到一台运行Windows Vista的机器上。

使用mysqldump,我已经获得了一个.sql文件,我已经移到了Windows机器上。 下一步是什么?

如果我正在转移到另一台Linux机器上,可以这样做:

 mysql -u username -p databasename < dumpfile.sql 

有没有人知道从Windows命令行工作的类似的调用? 还是有工具来完成这个?

当我从Windows命令行尝试这种types的命令时,我得到:

 'mysql' is not recognized as an internal or external command 

我也试过:

 mysql> source C:\Stuff\dumpfile.sql 

这给了:

 Failed to open file 'C:\Stuff\dumpfile.sql', error: 2 

这种types的命令应该可以在Windows和Linux中使用。 你试过运行这个命令吗? 你得到什么types的错误信息。

我刚刚在本地机器上用Windows XP上的MySQL进行了testing。 我看不到这个工作的唯一原因是MySQL不在你的路上。 如果它不在你的path中,你需要指定MYSQL可执行文件的整个path,或者从存储的目录中运行它。如果你打算在一个目录中使用MySQL可执行文件,也可以将可执行文件添加到path中定期的。

请参阅Jeff Zohrab在MySQL文档上的评论 :

对于Windows用户,使用正斜杠作为path分隔符。 您也不需要用引号括住文件的path。 例如,以下作品:

 mysql> source C:/Documents and Settings/My name here/My Documents/script.sql; 

以防万一,对于Linux:

 mysql> source /path/to/script.sql; 

如果你得到一个'错误2'是因为命令已经被执行了,所以这不是因为没有findMysQL。

错误2是因为您应该使用此path: 'C:/Stuff/dumpfile.sql'而不是'C:\Stuff\dumpfile.sql'

你也可以试试'C:\\Stuff\\dumpfile.sql' ,但是像unix这样的path是要走的路。

但最简单的方法是这样的:

如果.sql文件在c:\ temp中,并且MySQL安装在默认位置:

 C:\temp>"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe" -u root -p -h localhost myDatabase < myDatabaseDump.sql 

问候。

如果您不介意以交互方式进行操作,则可以在mysql shell中使用source命令,然后使用文件名。 否则,我相信Kibbee对于在cmd.exe工作的pipe道是正确的。

您可以在Windows XP中添加一个环境variables,通过setx.exe对Vista进行testing和确认,以包含mysql.exe,mysqldump.exe等文件夹(这个例子依赖于安装了MySQL Workbench并修改path最佳的select。

 setx path "%PATH%;C:\Program Files\MySQL\MySQL Workbench 5.2 CE"