我将MySQL密码保存在文件中foo.php
,例如P455w0rd
,当我尝试使用它时:
$ cat foo.php | grep '$dbpwd=' | cut -d '"' -f 2 | mysql -U root -p mydb -h friendserver
Enter password: (holds)
$ echo P455w0rd | mysql -u root -p mydb -h friendserver
Enter password: (holds)
这两个选项仍要求输入密码,从哪发送密码的正确方法是stdin
什么?
mysql无法从stdin中读取密码,我无法从密码中读取密码。
—
Omn
正确的答案是不要将您的密码放在命令行上
—
Shadur
/proc
,只要程序正在运行,任何有权访问该密码的人都可以轻松读取它们。这就是a的意思~/.my.cnf
,正确地修改为0600
-p
密码之间不能有空格。