MySQL 5.7 的目标是成为发布以来最安全的 MySQL 服务器,其在 SSL/TLS 和全面安全开发方面有一些重要的改变。

1.用户插件更新

5.7版本的用户表mysql.user要求plugin字段非空,且默认值是mysql_native_password,并且不再支持mysql_old_password。

2.新增密码过期功能

DBA可以设置任何用户的密码过期时间。已经过期的用户连接到Mysql,将会强制用户修改密码。具体详见官方文档Password Management

#设置 用户的过期时间为 90天
ALTER USER fate@'%' PASSWORD EXPIRE INTERVAL 90 DAY;
#设置 用户密码永远不过期
ALTER USER fate@'%' PASSWORD EXPIRE NEVER;

如果不喜欢过期时间限制,可以直接把默认值设置为永不过期

default_password_lifetime=0

3.新增用户锁功能

DBA可以对一个账户加锁或者是解锁,被加锁的用户将不能访问数据库。

Access denied for user 'user_name'@'host_name'.
Account is locked.


4.SSL 特性

MySQL 5.7版本提供了更为简单SSL安全访问配置,并且默认连接就采用SSL的加密方式。细心的朋友在看官方文档的时候  会注意到 安装步骤中多了一安装SSL的步骤


5.使用更安全的初始化方式

默认使用mysqld --initialize来初始化数据库,逐步废弃mysql_install_db的安装方式(mysql_install_db <5.7.6<= mysqld  —initialize) ,使用  initialize 参数初始化数据库有如下特性:

  • 安装过程中只会创建一个 root账号('root'@'localhost'),并且生成一个标记为过期的临时密码。DBA必须要使用这个临时密码来连接到数据库,然后设置一个新密码。数据库服务器会把这个随机密码写到错误日志(error log)里。

b 不创建匿名账号

c 不创建test数据库

特别强调与—initialize 不同 ,初始化的时候 使用参数

shell> bin/mysqld --initialize-insecure --user=mysql

则会生成一个无密码的root 账号。更详细的请移步 官方文档 

赞助本站,网站的持续发展离不开你们的支持!一分也是爱ヾ(◍°∇°◍)ノ゙
 本文链接: ,花了好多脑细胞写的,转载请注明链接喔~~
登陆
      正在加载评论