我试图使用mysqldump来转储一个模式,它大部分工作,但我碰到一个好奇心-p或–password选项似乎是做一些事情之外的设置密码( man页和–help输出说应该)。 具体来说,它看起来像这里所做的: http : //snippets.dzone.com/posts/show/360 – 即设置数据库转储。 为了支持我有点古怪的说法,我可以告诉你,如果我没有指定–password (或-p )选项,那么这个命令会打印使用语句并退出并显示一个错误。 如果我指定了它,系统会立即提示input密码(!),然后转储在–password选项中指定的数据库(或者在通常情况下给出的错误是密码不匹配任何数据库名称指定)。 这是一个成绩单: $ mysqldump -utesting-h myhost – 无数据–tables – 密码丢失 input密码: – MySQL转储10.10 mysqldump:有错误:1044:访问拒绝用户'testing'@'%'到 数据库在select数据库时会“丢失” 那么,是什么给了? 这是这样的工作方式吗? 这肯定不会有意义,也不符合官方文件。 最后,如果这只是它的工作方式,我该如何指定在自动化作业中使用的密码? 使用expect ? 我使用的是mysqldump Ver 10.10 Distrib 5.0.22, for pc-linux-gnu (i486) 。