mysql5.7忘记密码或者不知道初始密码

讲道理,玩了一波尝鲜= =还算鲜吧。。centos7.2 mysql 5.7.16...
centos7.2版本是没有mysql的,配置的是mariondb。然后我还是到mysql官网下载了5.7的rpm包,然后在centos上安装了一波。
安装完之后一脸懵逼 卧槽?密码呢?说好的初始空密码了?然后就是一段艰辛的百度历程。错误答案就不说了。直接上正确操作。
初始密码是随机的,被mysql5.7这个小贱人保存到了和以前版本不同的地方,那就是
/var/log/mysqld.log
输入如下命令,然后在日志文件开头可以看到初始密码:

grep "password" /var/log/mysqld.log

然后登陆进入mysql
第一步,一定要修改一次密码。然后貌似mysql5.7这个小贱人对密码做了安全等级限制,默认要求是大小写英文字母数字字符啥的都要有貌似。然后第一步我们先把安全等级降下来。

validate_password_policy有以下取值:
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

首先,修改validate_password_policy参数的值

mysql> set global validate_password_policy=0;

安全等级就是用validate_password_policy这个参数决定的。设置成0就可以任意设置密码了。

然后一定要先修改密码!
mysql> ALTER USER USER() IDENTIFIED BY 'yourspassword';
然后刷新退出搞定!
注意,如果忘记密码的话,5.7的小贱人修改密码的语句不同以前版本。。
尝鲜果然是要付出代价。。。

添加新评论