【发布时间】:2010-09-14 00:27:38
【问题描述】:
我正在尝试使用 mysqldump 转储架构,它主要工作但我遇到了一个好奇心:-p 或 --password 选项似乎除了设置密码之外还做了其他事情(如man 页面和 --help 输出说应该)。
具体来说,它似乎正在执行此处指示的操作:http://snippets.dzone.com/posts/show/360 - 即将数据库设置为转储。
为了支持我有点古怪的说法,我可以告诉你,如果我不指定 --password(或 -p)选项,该命令将打印使用语句并退出并出现错误。如果我指定了它,会立即提示我输入密码 (!),然后转储 --password 选项中指定的数据库(或者在通常情况下会给出错误,即密码与任何数据库名称不匹配)指定)。
这是一个成绩单:
$ mysqldump -u test -h myhost --no-data --tables --password lost 输入密码: -- MySQL 转储 10.10 mysqldump: 得到错误: 1044: Access denied for user 'test'@'%' to 选择数据库时数据库“丢失”那么,什么给了?这是应该的工作方式吗?它肯定看起来没有意义,也不符合官方文档。最后,如果这就是它的工作方式,我该如何指定要在自动化作业中使用的密码?使用expect???
我正在使用mysqldump Ver 10.10 Distrib 5.0.22, for pc-linux-gnu (i486)。
【问题讨论】:
-
删除了通用标签,添加了陷阱
标签: mysql mysqldump mysql-error-1044