我听说直接在命令行输入密码是个坏主意,因为任何人都可以在
中看到“秘密”mysql -u root -psecret
浏览history
。
我的MySQL数据库密码存储在具有有限读取权限的文本文件中,并且想知道以下方式访问它是否安全:
mysql -u root -p$(cat ~/.mysql_pass)
浏览history
,我看到打印的命令,而不是文字值。所以它似乎按照我想要的方式工作。
我确信有更好的方法来处理密码,我只想知道这个密码是否完全不公开。
答案 0 :(得分:2)
您建议使用以下内容:
mysql -u root -p$(cat ~/.mysql_pass)
但是,子命令将在执行mysql之前进行扩展,因此即使命令历史记录中没有这个子命令,完全可能有人在调用之后查看进程列表并查看密码。
我认为更好的方法是使用mysql client options file并使用mysql
命令从选项文件中读取密码。
答案 1 :(得分:0)
只需输入mysql -u root -p
,您就会收到输入密码的提示,但不会存储在历史记录中。