如何通过自动化将密码安全地传递给 MySQL 客户端
How to pass the password securely to MySQL Client with automation
我正在寻找解决方案,以便在使用自动脚本解决方案(即 Bash 脚本)时将密码安全地传递给 *nix 平台上的 MySQL 客户端。
到目前为止,我不得不意识到 MySQL 完全忽略了来自 stdin 的密码输入(仍然要求在终端上输入密码,在自动化时崩溃)。
最糟糕的是,使用 ~/.mylogin.cnf 的解决方案对我也不起作用,似乎 MySQL 完全忽略了它。
我宁愿不使用命令行 -p 密码参数来防止描述的 "all-around" 安全问题。
--defaults-file 和 --defaults-extra-file 也没有给出解决方案,似乎密码是由客户端在 "all-cost".
提示的
因此,我 运行 无法解决该原始(乍一看)任务!
非常感谢任何帮助!
我会尽量简短地介绍我的发现:
首先,使用 mysql --defaults-extra-file="path/to/file"
的解决方案实际上对我有用 --default-file
选项 直到它作为第一个参数传递 (同样注意到比尔·卡尔文 (Bill Karwin) 在这里。
其次,~/mylogin.cnf
的使用也可以正常工作,直到 除了当前帐户 MySQL 客户端在 + 文件下 运行 之外,所有用户的文件访问都受到限制甚至当前用户 (chmod u-x) 也限制执行, 可能被 MySQL 视为威胁,因为 Linux 许多系统上的 GUI x 权限保护伞(执行权限已启用)对于用户、组和其他人,通过在 GUI 中为文件设置一个 V)。不过这个原因只是一个建议。
我正在寻找解决方案,以便在使用自动脚本解决方案(即 Bash 脚本)时将密码安全地传递给 *nix 平台上的 MySQL 客户端。
到目前为止,我不得不意识到 MySQL 完全忽略了来自 stdin 的密码输入(仍然要求在终端上输入密码,在自动化时崩溃)。
最糟糕的是,使用 ~/.mylogin.cnf 的解决方案对我也不起作用,似乎 MySQL 完全忽略了它。
我宁愿不使用命令行 -p 密码参数来防止描述的 "all-around" 安全问题。
--defaults-file 和 --defaults-extra-file 也没有给出解决方案,似乎密码是由客户端在 "all-cost".
提示的因此,我 运行 无法解决该原始(乍一看)任务!
非常感谢任何帮助!
我会尽量简短地介绍我的发现:
首先,使用 mysql --defaults-extra-file="path/to/file"
的解决方案实际上对我有用 --default-file
选项 直到它作为第一个参数传递 (同样注意到比尔·卡尔文 (Bill Karwin) 在这里。
其次,~/mylogin.cnf
的使用也可以正常工作,直到 除了当前帐户 MySQL 客户端在 + 文件下 运行 之外,所有用户的文件访问都受到限制甚至当前用户 (chmod u-x) 也限制执行, 可能被 MySQL 视为威胁,因为 Linux 许多系统上的 GUI x 权限保护伞(执行权限已启用)对于用户、组和其他人,通过在 GUI 中为文件设置一个 V)。不过这个原因只是一个建议。