我正在尝试使用mysqldump
转储模式,它主要工作,但我遇到了一个好奇心:-p
or--password
选项似乎在做其他事情而不是设置密码(正如man
页面和--help
输出所说的那样)。
具体来说,它似乎正在执行此处指示的操作:http: //snippets.dzone.com/posts/show/360 - 即将数据库设置为转储。
为了支持我有点古怪的说法,我可以告诉你,如果我不指定--password
(or -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)
.