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版本的初始化密码了
或者修改MySQL的配置文件,设置为免密码登陆
vim /etc/my.cnf #修改MySQL配置文件
#在[mysqld]下增加下面这一行配置
skip-grant-tables
然后保存并退出
#重新启动MySQL服务
systemctl restart mysqld.service
2、将初始化密码找到然后进入MySQL后就会遇到没有权限的问题
You must reset your password using alter user statement before executing this statement
遇到这个问题则说明目前root用户不具备任何权限
解决方法:
mysql> set password=passwords;
#注意,这里的passwords是刚刚在查看mysqld.log的那个密码,为的是进入到MySQL系统里获取相应的权限进行操作
这样root用户就具备权限了,以及可以修改root用户的密码
3、当在MySQL界面里使用alter命令进行修改密码的时候会提示
“Your password does no satisfy the current policy requirements”
这个报错信息,也就是说你修改的新密码要求达不到MySQL系统对密码默认的需求,所以系统不通过你设置的新密码。要解决这个问题就要修改系统默认的密码策略
解决方法:
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 |
+--------------------------------------+--------+
mysql> set global validate_password_policy=LOW;
#设置这个参数的话,那么系统只会对你修改的新密码的长度进行要求
mysql> set global validate_password_length=4;
#设置密码的长度,MySQL5.7版本中对用户密码的长度最低要求是4位,即使修改这个参数的时候将值修改为低于4位,系统也会默认改回4位。
mysql> alter user 'root'@'localhost' identified by '1234';
#给root用户设置一个新密码为1234
mysql> exit
#退出mysql系统
mysql -u root -p
#回车后输入1234,新密码生效
以上就是我在用centos安装MySQL5.7的时候所遇到的问题已经相对应的一些解决办法