暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

Mysql root密码忘记找回妙招

原创 IT邦德 2021-08-09
731
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验
B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007

微信:jem_db
QQ:2243967774

简介:
Mysql超级用户root密码忘记后处理的方法,本文做了详细的阐述

一、Mysql root用户密码忘记(8.0以下)

1.用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf
2.在[mysqld]下添加skip-grant-tables,然后保存并退出
3.重启mysql服务:service mysqld restart
4.更改root用户名
重启以后,执行mysql命令进入mysql命令行

image.png

5.修改root用户密码
update mysql.user set authentication_string=password('root') where user='root';   --5.7版本
flush privileges;
6.把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart
好了,下面就可以用root新的密码登录了!

二、Mysql root用户密码忘记(8.0及以上)

在mysql8系统下,适用如下方法
G:\mysql-8.0.23-winx64\bin\mysqld --datadir=G:\mysql-8.0.23-winx64\data80323308 --console --skip-grant-tables --shared-memory

image.png

然后再开一个窗口,执行下面命令
cd G:\mysql-8.0.23-winx64\bin

image.png

mysql> select user,host,authentication_string from mysql.user;
mysql> delete from mysql.user where user='root' ;
mysql> flush privileges;   --记得刷新哈,如果提示无法创建
mysql> create user root@'%' identified with mysql_native_password by 'root';
mysql> grant all on *.* to root@'%' with grant option;
mysql> flush privileges;
mysql> drop user 'root'@'localhost';
mysql> flush privileges;
mysql> create user root@'localhost' identified with mysql_native_password by 'root';
mysql> grant all on *.* to root@'localhost' with grant option;
mysql> flush privileges;

image.png

本文如有错误或不完善的地方请大家多多指正,
留言微信:jem_db 或 QQ:2243967774 皆可,您的批评指正是我写作的最大动力!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论