关于mysql初始化以及安全策略无法修改的问题

Posted yhqvod

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于mysql初始化以及安全策略无法修改的问题相关的知识,希望对你有一定的参考价值。

通过mysql官方的yum源来安装的mysql-community-server ,这里版本是MySQL 8.0。

wget 
rpm -ivh  mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
service mysqld start
 

第一次启动后会有个初始化的过程,会产生root账户的随机密码。

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error_log中,关于error_log的位置,如果安装的是RPM包,则默认是 /var/log/mysqld.log 。

可以通过 grep ‘temporary password‘ /var/log/mysqld.log 查找密码:

技术分享图片

登陆上过后,进行正常操作会受限,提示你必须修改密码后才能进行操作。

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

根据提示修改密码:

mysql> SET PASSWORD = PASSWORD(‘123456‘); 
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> SET PASSWORD = PASSWORD("root");
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
 

但是提示根据当前密码策略,设置的密码不允许。

查阅官方文档后发现有以下三种密码策略:

Policy Tests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

当前密码策略默认为1 也就是 MEDIUM,但是当你使用:show VARIABLES like "%password%"; 来查看当前策略时,发现还是会让你先修改密码(这个比较坑)

接下来修改安全策略(跟进实际环境需要,生产环境简单密码可能不安全):

set global validate_password_policy = 0;

以上这条语句是所有人都这么用,好像没什么毛病,但是到我这儿就不好使啊/cry

 技术分享图片

比较郁闷

Google、百度了好久也没结果。咋整?

 

有了 , 管它呢,先改密码,设置一个包含大小写字母、数字和特殊符号的密码,OK,搞定,然后再来查看安全策略:

show VARIABLES like "%password%"; 

技术分享图片

妮玛,怎么下划线变成“.”了???

 

好吧现在可以根据需要修改安全策略了:

set global validate_password.policy = 0;

validate_password_number_count指定了密码中数据的长度

validate_password_special_char_count指定了密码中特殊字符的长度

validate_password_mixed_case_count指定了密码中大小字母的长度

 

官方的一些说明:https://dev.mysql.com/doc/refman/8.0/en/validate-password.html

以上是关于关于mysql初始化以及安全策略无法修改的问题的主要内容,如果未能解决你的问题,请参考以下文章

mysql 的初始密码123456 是不是很不安全?

MySQL 5.7 的初始化操作(root初始密码修改密码密码策略关闭IPv6监听)

关于Azure VM无法访问W2K3共享问题

Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini和my.ini文件以及服务无法启动的解决办法以及修改初始密码的方法

JAVA中如何保证线程安全以及主键自增有序

关于服务器的 域控制器安全策略