0

我听说在命令行上直接输入密码是个坏主意,因为任何人都可以看到其中的“秘密”

mysql -u root -psecret

通过浏览history

我的 MySQL 数据库密码存储在具有有限读取权限的文本文件中,我想知道通过以下方式访问它是否安全:

mysql -u root -p$(cat ~/.mysql_pass)

浏览history,我看到打印的命令,而不是文字值。所以看起来它正在按照我想要的方式工作。

我确信有更好的方法来处理密码,我只想知道这个方法是否完全公开了我的密码。

4

2 回答 2

2

您建议使用以下内容:

mysql -u root -p$(cat ~/.mysql_pass)

但是,子命令将在执行 mysql 之前展开,因此即使在命令历史记录中不可用,也完全有可能有人在调用后查看进程列表并查看您的密码。

我认为更好的方法是使用mysql 客户端选项文件并让mysql命令从选项文件中读取密码。

于 2013-11-06T10:16:12.190 回答
0

只需键入mysql -u root -p,您将收到输入密码的提示,它不会存储在历史记录中。

于 2013-11-06T10:08:00.797 回答