我正在尝试在我的笔记本电脑上创建本地安装的 MySQL 数据库的转储。
我知道这个命令:
%>mysqldump -u root -p --opt [database name]
但我无法执行它。我可能忽略了这里显而易见的事情。
- 我打开命令行管理器,它提示输入 root 密码。
- 一旦输入密码,我就会直接进入
mysql>
- 我无法退出并
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 命令管理器管理员,因此您没有对程序文件的写权限。