如何在MySQL中更改/加密root密码?

时间:2015-08-12 05:09:29

标签: mysql

我在MySQL中有三个用户,即root,testuser1,testuser2。我想通过在终端中键入以下命令来加密连接到MySQL数据库时所有三个用户的密码

  1. mysql -u root -p
  2. mysql -u testuser1 -p
  3. mysql -u testuser2 -p
  4. 它要求输入密码。此时,我如何提供加密密码或从任何可能包含它的文件中读取?

    我的项目需要加密MySQL用户的所有密码。 (我也问了这个问题in connection with MariaDB too)。

1 个答案:

答案 0 :(得分:2)

您无法在mysql客户端命令行上传递加密密码,并希望mysql“理解”它。充其量,您可以使用加密的SSH会话来进行mysql命令行会话。

您当然可以将加密的密码存储在文件或数据库中,然后解密它们以进行连接。

但是在某些时候,密码必须以明文传递给mySql。你需要确切地决定:

1)您将如何登录(从命令提示符处?使用程序或Web服务器?

2)在登录期间和登录期间如何确保存储的密码(包括但不限于加密)。

一些替代方案:

MySql还支持“Enterprise Logon”方案。也许其中一个可能为您的问题提供解决方案:

最后,如果您从Application Server(例如,WebSphere)使用MySQL,那么您可以简单地创建一个DataSource,然后让应用程序服务器,而不是手动使用“mysql”命令行客户端登录为您保护数据库用户名和密码。