我在MySQL中有三个用户,即root,testuser1,testuser2。我想通过在终端中键入以下命令来加密连接到MySQL数据库时所有三个用户的密码
它要求输入密码。此时,我如何提供加密密码或从任何可能包含它的文件中读取?
我的项目需要加密MySQL用户的所有密码。 (我也问了这个问题in connection with MariaDB too)。
答案 0 :(得分:2)
您无法在mysql客户端命令行上传递加密密码,并希望mysql“理解”它。充其量,您可以使用加密的SSH会话来进行mysql命令行会话。
您当然可以将加密的密码存储在文件或数据库中,然后解密它们以进行连接。
但是在某些时候,密码必须以明文传递给mySql。你需要确切地决定:
1)您将如何登录(从命令提示符处?使用程序或Web服务器?
2)在登录期间和登录期间如何确保存储的密码(包括但不限于加密)。
一些替代方案:
MySql还支持“Enterprise Logon”方案。也许其中一个可能为您的问题提供解决方案:
最后,如果您从Application Server(例如,WebSphere)使用MySQL,那么您可以简单地创建一个DataSource,然后让应用程序服务器,而不是手动使用“mysql”命令行客户端登录为您保护数据库用户名和密码。