mysql5.7 登陆异常排查

来源:互联网 发布:恐怖鸟深层网络文章 编辑:程序博客网 时间:2024/06/06 03:34

1、跳过密码验证步骤,在my.cnf 文件直接加入以下一段说明

[mysqld]
skip-grant-tables 

2、如果MySQL数据库用户的密码设置过于简单,数据库在用户登录后会提示重置密码,并且不接受简单的密码。

提示需要重置密码:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
Mysql数据库版本:5.7.1
操作系统:CentOS 7
这个问题是否奇怪,因为明明是刚刚用密码登录了mysql服务器。怎么要重置密码呢?因为密码太简单了,不符合MySQL的安全要求。
参考官方的文档,见http://dev.mysql.com/doc/refman/5.6/en/alter-user.html。重置用户密码操作:
mysql> SET PASSWORD = PASSWORD('123456');   //123456 是重置的新密码
以上操作后又遇到新问题:
ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。
又参考了官方文档,见http://dev.mysql.com/doc/refman/5.7/en/validate-password-plugin.html。
应该是密码过于简单了。 后来用大写字母+数字+特殊字符混合了一个密码。重置密码成功!
以后操作,没有再出现上述问题。

注意:如果只想设置简单密码需要修改两个全局参数:
mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;


mysql> alter  user 'root'@'localhost' identified by '#20as3SElksds0ew98'; 

mysql> flush privileges;


3、设置新密码:

mysql>UPDATE mysql.user SET authentication_string=password('yourpassword') WHERE User='root'  AND Host='localhost';

mysql>flush privileges;