1、安装完MySQL后,第一步进入MySQL的时候会遇到初始化密码不正确的的问题

Access denied for user \'root\'@\'localhost\' (using password: YES)

遇到这个问题说明MySQL5.7版本是有初始化密码的,而不像5.6和5.5那样没有初始化密码,可以直接回车进入。而MySQL5.7的初始化密码存放在mysql服务日志里,路径在/var/log/mysqld.log

cat /var/log/mysqld.log | grep \'temporary password\'

输入这个命令后就能看到MySQL5.7版本的初始化密码了

 

2、将初始化密码找到然后进入MySQL后就会遇到没有权限的问题

You must reset your password using alter user statement before executing this statement

遇到这个问题则说明目前root用户不具备任何权限

解决方法:

set password=passwords;
#注意,这里的passwords是刚刚在查看mysqld.log的那个密码,为的是进入到MySQL系统里获取相应的权限进行操作

这样root用户就具备权限了,以及可以修改root用户的密码

 

3、当在MySQL界面里使用alter命令进行修改密码的时候会提示

“Your password does no satisfy the current policy requirements”

这个报错信息,也就是说你修改的新密码要求达不到MySQL系统对密码默认的需求,所以系统不通过你设置的新密码。要解决这个问题就要修改系统默认的密码策略

解决方法:

show variables like \'validate_password%\';
#查看MySQL用户密码的策略
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+


set global validate_password_policy=LOW;
#设置这个参数的话,那么系统只会对你修改的新密码的长度进行要求

set global validate_password_length=4;
#设置密码的长度,MySQL5.7版本中对用户密码的长度最低要求是4位,即使修改这个参数的时候将值修改为低于4位,系统也会默认改回4位。

alter user \'root\'@\'localhost\' identified by \'1234\';
#给root用户设置一个新密码为1234

exit
#退出mysql系统

mysql -u root -p        
#回车后输入1234,新密码生效

以上就是我在用centos安装MySQL5.7的时候所遇到的问题已经相对应的一些解决办法

收藏 打印