安装MySQL报错 : Your password does not satisfy the current policy requirements

之前在虚拟机中安装了CentOS7.4,按mysql 按照步骤完全没问题,今天在给同学解决CentOS7.4中安装了Mysql5.7问题时,走一步一个错。

报如下错误:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

看到后查阅得知这是mysql安装完后给root用户生成了一个默认密码,所以需要使用密码登录。
我们怎么查看mysql生成的默认密码呢?

解决方案

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

grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述
其中.,Ntun/n/5lf 就是默认密码

你以为完了吗?答案是no
接下当你用默认密码登录后MySQL -uroot -p 你会发现无论你输入什么都会报错接下来给大家一个好办法

解决方案
1.更改策略,设置 validate_password_policy=0;

set global validate_password_policy=0;

2.重设密码:

mysql> set password for root@localhost=password('password');		#密码复杂些,简单的怕通不过
Query OK, 0 rows affected, 1 warning (0.00 sec)

3.授予root用户远程访问权限:

mysql> grant all privileges on *.* to 'root' @'%' identified by 'password';

4.刷新权限,使设置生效, OK

flush privileges;

注意:
默认密码长度是8;所以少于8位会报错
1.怎么查看密码长度:

select @@validate_password_length;

2.怎么修改密码长度:

 set global validate_password_length=4;

指定了密码中数字的长度

set validate_password_number_count=?

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

set validate_password_special_char_count=?

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

set validate_password_mixed_case_count=?

你可能感兴趣的:(mysql,大数据)