网上有太多Mysql密码重置教程,大多也没有说明Mysql的版本,导致无法使用。
正好自己也拉了裤里(Mysql出了问题),总结了一下重置Mysql 8.0.27密码的步骤。
Mysql版本: 8.0.27-0 系统:Ubuntu 20.04
关闭mysql
service mysql stop
找到my.cnf文件
find / -name my.cnf
/etc/mysql/my.cnf
/etc/alternatives/my.cnf
/var/lib/dpkg/alternatives/my.cnf
修改第一个文件,末未追加
vim /etc/mysql/my.cnf
#追加字符
[mysqld]
skip-grant-tables
启动Mysql,进入mysql数据库
#启动
service mysql start
#进入mysql
mysql
#使用mysql的数据库
use mysql
查看一下user和host的对应
select user,host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| root | % |
| admin | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost | |
+------------------+-----------+
修改密码
#刷新一下权限
flush privileges;
#密码置空
update user set authentication_string='' where user='root';
# root @ host与上一步查询的相对应
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
刷新权限
flush privileges;
把之前写的my.cnf内容注释或者删除,再重启mysql
service mysql restart
之后就可以使用mysql -u root -p 进入mysql。