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';
相关推荐
曹牧33 分钟前
Oracle数据库中,将JSON字符串转换为多行数据
数据库·oracle·json
被摘下的星星1 小时前
MySQL count()函数的用法
数据库·mysql
末央&1 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库
徒 花1 小时前
数据库知识复习07
数据库·作业
素玥1 小时前
实训5 python连接mysql数据库
数据库·python·mysql
jnrjian1 小时前
text index 查看index column index定义 index 刷新频率 index视图
数据库·oracle
瀚高PG实验室2 小时前
审计策略修改
网络·数据库·瀚高数据库
言慢行善2 小时前
sqlserver模糊查询问题
java·数据库·sqlserver
韶博雅2 小时前
emcc24ai
开发语言·数据库·python
有想法的py工程师2 小时前
PostgreSQL 分区表排序优化:Append Sort 优化为 Merge Append
大数据·数据库·postgresql