简体   繁体   中英

How can I load a mysqldump .sql file to a MySQL database in Windows Vista

I'm trying to move a MySQL database from a Linux machine to one running Windows Vista.

Using mysqldump, I've obtained a .sql file, which I have moved to the Windows machine. Whats next?

If I were moving to another Linux machine, one could do this sort of thing:

mysql -u username -p databasename < dumpfile.sql

Does anyone know of an analogous invocation that works from the Windows command line? Or are there tools to accomplish this?

When I try this type of command from the Windows command line, I get:

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

I've also tried:

mysql>  source C:\Stuff\dumpfile.sql

That gave:

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

This same type of command should work in windows as well as Linux. Have you tried running this command? What type of error messages are you getting.

I just tested on my local machine with MySQL on Windows XP. The only reason I could see this not working, is that MySQL isn't on your path. If it isn't in your path, you need to specify the whole path of the MYSQL executable, or run it from the directory it's stored in. You could also add the executable to the path if you plan to use the MySQL executable on a regular basis.

See this comment by Jeff Zohrab on the MySQL documentation:

For windows users, use forward slashes for the path delimiters. You also don't need to enclose the path to the file in quotes. Eg, the following works:

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

Just in case, for Linux:

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

If you get an 'error 2' is because the comand is been executed, so it's not because MysQL is not been found.

The error 2 is because you should use this path: 'C:/Stuff/dumpfile.sql' instead of 'C:\\Stuff\\dumpfile.sql'

You could also try 'C:\\\\Stuff\\\\dumpfile.sql' , but the unix like path it's the way to go.

But the easiest way is this:

If the .sql file is in c:\\temp, and the MySQL is installed in the default location:

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

Regards.

If you don't mind doing it interactively, you can use the source command in the mysql shell, followed by the file name. Otherwise, I believe that Kibbee is right about pipes working in cmd.exe .

您可以在Windows XP中添加环境变量,通过setx.exe对Vista进行测试和确认,到包含mysql.exe,mysqldump.exe等的文件夹中。(此示例依赖于安装MySQL Workbench并只修改您的路径最佳的选择。

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM