Mysql5.7的初始密码更改

软件版本的变化真是让人兴奋……

Linux服务器决定安装使用mysql 5.7了。

愉快的去官网下载安装包:https://dev.mysql.com/downloads/mysql/

解决完所有依赖安装……

执行systemctl start mysqld启动

执行systemctl status mysqld查看启动结果

OK,启动成功!

要迫不及待的进入后台建库了

执行mysql

什么?需要密码???我哪里知道密码啊?

这里找到并验证了一个可行的方法。

一、停止mysqld服务

二、编辑配置文件

有的Linux版本是/etc/my.cnf

有的Linux版本是/etc/mysql/mysql.conf.d/mysqld.cnf

在配置文件中添加配置项

skip-grant-tables

对,你没看错,就添加这一行。

三、启动mysqld服务

四、执行mysql

进入后台了。

五、修改root密码

注意,user表没有“password”字段了,取代的是“authentication_string”。

update mysql.user set authentication_string=password('123456') where User='root' and Host='localhost';

如图的密码是不可取的!会在后续操作中遇到如下提示:

ERROR 1819 (HY000) at line 1: Your password does not satisfy the current policy requirements

所以,请设置一个足够健壮的密码吧!例如【大写字母+小写字母+特殊字符+数字】。

六、刷新配置

flush privileges;

七、再次执行mysql命令需要密码了。

八、去掉skip-grant-tables配置项

因为这一配置项的意思是“跳过权限表的限制,不用密码验证,直接登录”,在生产环境中是绝对不行的。

所以一定别忘记删除这个配置。

原文地址:https://www.cnblogs.com/yoyotl/p/6387207.html