一、环境
OS:CentOS 7 (x86_64)
MySQL:8.0.20-1.el7 (mysql-community-server.x86_64)
二、密码重置
1.修改配置文件/etc/my.cnf,把下图这行的注释“#"去掉,或者直接添加上“skip-grant-tables”:
2.启动mysql(如果之前已经启动了 mysql 的话,则应输入重启命令,而不是启动命令):
3.更改密码
输入 “mysql”进入mysql控制台;
输入下面代码重置root用户密码(据说密码是存在 mysql 数据库中的 user 表的 authentication_string字段,但是直接使用sql语句更改 authentication_string 的值是不行的,况且密码肯定不可能是明文存放的,应该吧):
update mysql.user set authentication_string="" where user="root"
输入下面代码刷新mysql的系统权限相关表:
flush privileges;
输入下面代码设置你的密码(这是mysql官方文档中的设置密码的方式):
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'
下面是操作截图(操作完退出mysql控制台应该会吧,输入 exit 按回车):
4.使用新密码登录:
将上面 步骤1 中在 my.cnf 添加的 "skip-grant-tables" 注释掉或者删除;
重启 mysql 服务;
登录mysql(注意输入的时候别打错成 mysqld ),输入刚才设置的密码;
三.总结
这类教程网上也很多,但是按网上的教程我没成功过,或许是人家确实是成功了,只是我们的版本不一样,使用的方法不太一样罢了(当然我也怀疑他们是没将配置文件改回去而误以为成功了),所以如果你按我的教程修改不成功的话,也可能是这类问题,但是我觉得版本相差不是很大的话应该不存在修改不成功的情况,ARM平台上我也尝试过了,没问题。当然,如果真的修改不成功的话,你就当没看见这篇博客,应该继续找其他的。同时,主要是留个记录,方便以后查看。