无法在 Windows 上创建 MySQL 转储,在密码提示之前失败

无法在 Windows 上创建 MySQL 转储,在密码提示之前失败

我正在尝试在我的笔记本电脑上创建本地安装的 MySQL 数据库的转储。

我知道这个命令:

%>mysqldump -u root -p --opt [database name] 

但我无法执行它。我可能忽略了这里显而易见的事情。

  1. 我打开命令行管理器,它提示输入 root 密码。
  2. 一旦输入密码,我就会直接进入mysql>
  3. 我无法退出并mysql>重新进入 shell。

输入上述命令:

mysql> mysqldump -u -root -p --opt [database]

给出以下内容:

-> 

我还尝试了以下方法:

C:\> cd c:\program files\mysql\...\bin 
C:\program files\mysql\...\bin> mysqldump -u root -p [database name] > dump.sql 

然后才报告“访问被拒绝”。

我没有被提示输入密码。用户是“root”。我在 Windows 下拥有完全的管理员权限。我在两台笔记本电脑上尝试过,使用不同的数据库和密码,结果相同。我使用向导安装了 MySQL 数据库。

我迷路了。似乎我只能直接登录数据库,但无法进入 shell ( shell>)。我使用命令行管理器错了吗?我需要工作台还是其他东西?

答案1

mysqldump可执行文件与可执行文件不同mysql。您无需mysqldump在 中输入mysql,只需在普通的 Windows 命令提示符中输入即可,方法是转到开始跑步→ 输入“cmd”并回车。

mysqldump -u <username> -p <database> > dump.sql

此处,<database>替换为您的数据库名称。它将提示您输入密码并将内容转储到dump.sql。您也可以为转储文件指定绝对路径,例如C:\dump.sql

本指南了解更多详细信息。

答案2

尝试转储到“Program Files”下以外的某个目录。只有二进制文件和静态数据应该存放在那里,而不是用户文件。

答案3

我已经有一段时间没有使用过 mysqldump 了,但我很确定您必须为转储定义一个目标文件。

也就是说,尝试以下语法:

mysqldump -u root -p --databases [database name] > C:\Temp\DBDump.sql

您不需要 --opt 选项,只需使用 --databases [dbname] 或 --all-databases 来转储。

其次,您要确保将数据转储到文件中,而不是简单地转储到屏幕上(除非这是您想要的)。

好的,要压缩图像,您可以按照 MySQL 5.5 参考指南中发布的以下指南进行操作:

Mike Ng 于 2005 年 5 月 16 日下午 5:40 发布 [删除] [编辑]

关注 Lon B 的有帮助的帖子:

您可以将其通过管道传输到 gzip 以在 Windows 中进行压缩。我原本以为它不会在 Windows 上运行,但显然它确实可以。

@ECHO 开始备份 %dbname%...

%mysqldir%\bin\mysqldump -B%dbname%-u%dbuser%| gzip>%bkupdir%\dbBkup_%dbname%_%yy%%mm%%dd%.sql.gz

当然,你需要在路径或目录中使用 gng gzip

您可以在底部阅读MySQL 5.5 MYSQLDUMP 参考指南

对不起,我改了帖子;我复制错了...对不起!

答案4

也可能是因为您不是 Windows 命令管理器管理员,因此您没有对程序文件的写权限。

相关内容