首页 > 解决方案 > 在生产环境中运行 CLI 时保持密码抽象

问题描述

我希望能够pt-online-schema-change在我的生产服务器上使用命令行工具 ( )。输入数据库密码有两种选择,可以直接在命令中输入,即

pt-online-schema-change --alter "ADD COLUMN c1 INT" D=sakila,t=actor,u=root --pasword=securepassword

另一种选择是做

pt-online-schema-change --alter "ADD COLUMN c1 INT" D=sakila,t=actor,u=root --ask-pass

这将提示用户输入密码。在这两种情况下,用户都需要访问生产数据库密码。是否有任何合理的方法可以将密码抽象出来,或者是否有可能更有意义的不同方法?

标签: linuxbashsecuritypercona

解决方案


是否有任何合理的方法可以将密码抽象出来,或者是否有可能更有意义的不同方法?

是的:Kerberos。

MySQL 支持 Kerberos。您想检查 Percona 中的 Kerberos 支持(我从未使用过。)如果它支持它,那么“所有”您需要做的就是设置 Kerberos。

更一般地说,您需要一种将登录凭据传递给 DBMS 后端的方法。通过网络以明文形式发送密码是 telnet(1) 和 ftp(1) 名不副实的原因。


推荐阅读