最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于MySQL密码你应该知道的那些事

来源:懂视网 责编:小采 时间:2020-11-09 15:13:47
文档

关于MySQL密码你应该知道的那些事

关于MySQL密码你应该知道的那些事:本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进。如果你已经接触MySQL一段时间了,那么想必你一定知道M 本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进 MySQL用户密码是如何生成和保存的 如果你已经接触
推荐度:
导读关于MySQL密码你应该知道的那些事:本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进。如果你已经接触MySQL一段时间了,那么想必你一定知道M 本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进 MySQL用户密码是如何生成和保存的 如果你已经接触

本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进。如果你已经接触MySQL一段时间了,那么想必你一定知道M

本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进

关于 MySQL 密码你应该知道的那些事

MySQL用户密码是如何生成和保存的

如果你已经接触MySQL一段时间了,那么想必你一定知道MySQL把所有用户的用户名和密码的密文存放在mysql.user表中。大致的形式如下:

可见MySQL在其内部是不存放用户的明文密码的(这个也是一般程序对于敏感信息的最基础保护)。一般来说密文是通过不可逆加密算法得到的。这样即使敏感信息泄漏,除了暴力破解是无法快速从密文直接得到明文的。

MySQL用的是哪种不可逆算法来加密用户密码的

MySQL实际上是使用了两次SHA1夹杂一次unhex的方式对用户密码进行了加密。具体的算法可以用公式表示:password_str = concat('*', sha1(unhex(sha1(password))))

我们可以用下面的方法做个简单的验证。

MySQL用户密码的不安全性

其实MySQL在5.6版本以前,对于对于安全性的重视度非常低,对于用户密码也不例外。例如,MySQL对于binary log中和用户密码相关的操作是不加密的。如果你向MySQL发送了例如create user,grant user ... identified by这样的携带初始明文密码的指令,那么会在binary log中原原本本的被还原出来。我们通过下面的例子来验证。

创建一个用户:

用mysqlbinlog查看二进制日志:

MySQL5.6中对于用户密码的安全性加强

好在MySQL5.6开始对安全性有了一定的重视,为了杜绝明文密码出现在binlog中的情况,,MySQL引入了一系列会以密文方式记录二进制日志的命令:

细心你的也许会发现,change master to master_password=''命令不在这个范畴中。这也就意味着MySQL5.6中仍然使用这样的语法来启动replication时有安全风险的。这也就是为什么5.6中使用带有明文密码的change master to时会有warning提示,具体如下:

本文永久更新链接地址:

文档

关于MySQL密码你应该知道的那些事

关于MySQL密码你应该知道的那些事:本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进。如果你已经接触MySQL一段时间了,那么想必你一定知道M 本文将介绍MySQL用户密码相关的一些知识,以及5.6中对于安全性的一些改进 MySQL用户密码是如何生成和保存的 如果你已经接触
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top