Mysql8 忘记密码重置,以及问题解决

1.使用免密登录

找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf

在里最后加入

bash 复制代码
skip-grant-tables

重启MySQL服务

bash 复制代码
service mysql restart

Shutting down MySQL... SUCCESS!

Starting MySQL... SUCCESS!

重启成功

2.登录开始重置密码

直接回车登录,两次回车直接免密登录

bash 复制代码
mysql -uroot -p

由于使用的是mysql8所以要进行刷新权限

bash 复制代码
user mysql;
flush privileges;

使用命令重置密码

bash 复制代码
ALTER USER 'root'@'%' IDENTIFIED BY '这里填写你的密码';

如果报错

bash 复制代码
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'

可能是你的用户没有root或这写的%不对

使用命令查看用户有哪些

bash 复制代码
select user,host from user;
我得到,说明我的没有root用户所以我不能使用这个去重置root用户密码
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| my               | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| my               | localhost |
+------------------+-----------+
5 rows in set (0.00 sec)
大部分人的是,如果有百分号就可以去重置百分号的,没有百分号去重置localhost的
例如:ALTER USER 'root'@'localhost' IDENTIFIED BY '这里填写你的密码';
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+

我的不是root用户,所以我的重置是这样写的
ALTER USER 'my'@'localhost' IDENTIFIED BY '密码';
重置成功:Query OK, 0 rows affected (0.01 sec)
exit
退出

回到1中删除

bash 复制代码
skip-grant-tables

重启MySQL服务

bash 复制代码
service mysql restart

Shutting down MySQL... SUCCESS!

Starting MySQL... SUCCESS!

重启成功

这样重置成功了,

我没有root用户,我想要root用户该怎么办呢?

下面方法:

登录进入MySQL

bash 复制代码
use mysql
#查看一些有哪些用户
select user,host from user; 
#刷新权限
flush privileges;
#创建root用户
create user 'root'@'localhost' identified by '密码';
#开通权限
grant all privileges on *.* to 'root'@'localhost' WiTh Grant option;
#刷新权限
flush privileges;
这样就ok了,但是这里还没有开通远程
使用这个命令开通运程ok结束
UPDATE user SET host = '%' WHERE user = 'root';
相关推荐
曼汐 .5 分钟前
数据库管理与高可用-PostgreSQL日常维护
数据库
小陈又菜6 分钟前
SQL ConcurrencyControl(并发控制)
数据库·sql··并发控制
zqmattack13 分钟前
SQL 注入:iBatis与修复
网络·数据库·sql
用户20187928316725 分钟前
Android 虚拟机的奇妙工厂之旅:从 Dalvik 到 ART 的技术童话
android
TDengine (老段)28 分钟前
TDengine 快速体验(Docker 镜像方式)
大数据·数据库·物联网·docker·时序数据库·tdengine·涛思数据
用户20187928316730 分钟前
Android 安全机制:应用沙箱与攻防技术的 "快递战"
android
hashiqimiya32 分钟前
android studio底部导航栏
android·ide·android studio
笨笨马甲43 分钟前
附加模块--Qt SQL模块功能及架构解析
数据库·sql·qt
用户2018792831671 小时前
Java 线程池:工厂流水线的高效工人管理
android
独爱竹子的功夫熊猫1 小时前
数据库技巧:INSERT IGNORE的高效插入策略
数据库·后端·mysql