我正在寻找解决方案,在使用自动脚本解决方案(即Bash )的同时,在*nix平台上安全地将密码传递给MySQL客户端。
到目前为止,我不得不意识到MySQL完全忽略了stdin输入的密码(仍然要求终端输入密码,自动崩溃)。
最糟糕的是,使用~/.mylogin.cnf的解决方案对我也不起作用,似乎MySQL完全忽略了它。
我不喜欢使用口令的命令行-p参数来防止所描述的“全方位”安全问题。
-默认情况--文件和--缺省值--文件外的手工也没有给出解决方案,似乎密码是由客户端以“免费”的方式提示的。
因此,对于这个原始的(乍一看)任务,我已经没有解决方案了!
任何帮助都将不胜感激!
发布于 2019-12-20 14:14:48
我将尽量缩短我的发现:
首先,使用mysql --defaults-extra-file="path/to/file"
的解决方案实际上是与--default-file
选项一起工作的,直到它作为第一个参数被传递(这里的Bill注意到了这一点)。
其次,~/mylogin.cnf
的使用也很好,直到限制所有用户的文件访问( MySQL客户端在+文件下运行的经常帐户除外),即使是当前用户(chmod u-x)也限制其执行,可能被MySQL视为许多系统上Linux权限保护伞造成的威胁(通过在GUI中为文件设置一个V来为用户、组和其他用户启用执行权限)。不过,这个理由只是一个建议。
https://stackoverflow.com/questions/59364517
复制相似问题