mysql密码保存在哪里看

更新时间:01-23 教程 由 小瓶盖 分享

MySQL是一种常用的关系型数据库管理系统,常用于Web应用程序的开发。当我们创建用户和授权时,MySQL会要求我们为新用户设置密码。那么这些密码是如何保存的呢?

MySQL密码是经过散列(hash)算法加密后存储在系统表mysql.user中的。具体来说,密码是通过MySQL自带的密码函数进行加密后存储的。这个函数叫做PASSWORD,它可以将输入的字符串转换成一个40个字符长的散列值,用于存储在mysql.user表中。

以下是一个例子,在MySQL client中输入以下命令:

mysql>SELECT PASSWORD("mypassword");+-------------------------------------------+| PASSWORD("mypassword") |+-------------------------------------------+| *2E45F8133B258009F0EBD041EAFAF2015A630421 |+-------------------------------------------+

可以看到,输入"mypassword"后,MySQL会返回40字符的加密结果。这个结果即为密码在mysql.user表中存储的形式。

当我们尝试使用上述用户登录MySQL时,MySQL会将我们输入的密码进行加密后和mysql.user中存储的密码进行比对。如果比对成功,则用户登录成功;否则,登录失败。

需要注意的是,在MySQL 5.7之后,官方已不再推荐使用PASSWORD函数进行密码加密了。官方推荐使用更安全的加密方式,如SHA256。

在应用程序中,我们通常不会直接使用MySQL的密码散列值进行验证,而是使用第三方库对密码进行加密。这些库使用更加安全的加密方式,并且通常还会加入一些密码安全策略,如密码过期、强制密码复杂度等。

声明:关于《mysql密码保存在哪里看》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2254255.html