mysql 8.0 重置 root 账户密码

操作系统版本是 ubuntu 20.04;mysql 是 8.0.22。

简介

使用 --skip-grant-tables 选项启动 mysql 服务,以便不需要密码就可以登录到 mysql 命令行,并且获取到所有的权限。

修改 mysql 配置文件,增加 --skip-grant-tables 选项

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

在文件末尾添加:

--skip-grant-tables

登录 mysql

重启 mysql 服务后,使用 mysql -uroot 命令直接登录 mysql 命令行。

重新加载授权表

因为使用 --skip-grant-tables 会导致账号管理被禁用,需要使用 flush 命令重新加载权限表,以此开启账号管理功能。

flush privileges;

修改 root 密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

重启 mysql 服务

修改 mysql 配置文件,去掉 --skip-grant-tables 选项,然后重启 mysql。

接着使用新定义的密码登录mysql 的 root 账号即可。

参考文章:

原文地址:https://www.cnblogs.com/imzhi/p/mysql8-reset-root-password.html