如何在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"