38

我正在尝试将 MySQL 数据库从 Linux 机器移动到运行 Windows Vista 的机器上。

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

如果我要转移到另一台 Linux 机器上,可以做这样的事情:

mysql -u username -p databasename < dumpfile.sql

有谁知道在 Windows 命令行中工作的类似调用?或者有没有工具可以做到这一点?

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

'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
4

5 回答 5

17

这种相同类型的命令应该可以在 Windows 和 Linux 中使用。您是否尝试过运行此命令?您收到什么类型的错误消息。

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

于 2009-08-21T00:48:40.323 回答
11

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

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

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

以防万一,对于 Linux:

mysql> source /path/to/script.sql;
于 2012-06-15T04:21:30.873 回答
5

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

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

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

但最简单的方法是:

如果 .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

问候。

于 2010-07-26T18:08:06.243 回答
1

如果您不介意以交互方式进行操作,可以使用sourcemysql shell 中的命令,后跟文件名。否则,我相信 Kibbee 关于管道在cmd.exe.

于 2009-08-21T00:53:37.423 回答
0

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

setx path "%PATH%;C:\Program Files\MySQL\MySQL Workbench 5.2 CE"
于 2011-10-20T07:01:56.447 回答