MySQL重置密码

一、环境

OS:CentOS 7 (x86_64)

MySQL:8.0.20-1.el7 (mysql-community-server.x86_64)

二、密码重置

1.修改配置文件/etc/my.cnf,把下图这行的注释“#"去掉,或者直接添加上“skip-grant-tables”:

MySQL重置密码

2.启动mysql:

MySQL重置密码

3.更改密码

  输入mysql进入mysql控制台;

  输入下面代码重置root用户密码(据说密码是存在 mysql 数据库中的 user 表的 authentication_string 字段,但是直接使用sql语句更改 authentication_string 的值是不行的):

update mysql.user set authentication_string="" where user="root"

  输入下面代码fs刷新mysql的系统权限相关表:

flush privileges;

  输入下面代码设置你的密码(这是mysql官方文档设置密码的方式):

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码'

  下面是操作截图(操作完退出mysql控制台应该会吧,输入 exit 按回车):

MySQL重置密码

4.使用新密码登录:

  将上面 步骤1 中在 my.cnf 添加的 "skip-grant-tables" 注释掉或者删除;

  重启 mysql 服务;

  登录mysql(注意输入的时候别打错成 mysqld ),输入刚才设置的密码;

MySQL重置密码

三.总结

  这类教程网上也很多,但是按网上的教程我没成功过,或许是人家确实是成功了,只是我们的版本不一样,使用的方法不太一样罢了(当然我也怀疑他们是没将配置文件改回去),所以如果你按我的教程修改不成功的话,也可能是这类问题,但是我觉得版本相差不是很大的话应该不存在修改不成功的情况,ARM平台上我也尝试过了,没问题。当然,如果真的修改不成功的话,你就当没看见这篇博客,应该继续找其他的。同时,主要是留个记录,方便以后查看。

上一篇:SQLserver 备份和还原 失败


下一篇:MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded