本篇文章为大家展示了MySQL密码忘记怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

2.1、skip-grant-tables模式启动

skip-grant-tables表示,在启动mysql时不启动授权表功能,可以直接免密码登录

#修改/etc/my.cnf文件vim/etc/my.cnf#在[mysqld]区域添加配置,并保存my.cnf文件skip-grant-tables#重启mysqlsystemctlrestartmysqld#登录mysqlmysql-uroot-p#如果出现输入密码,直接回车,就可以进入数据库了

2.2、修改root密码

#登录mysql,此时还没有进入数据库,使用如下命令usemysql;#修改root密码(mysql5.7版本)updateusersetauthentication_string=password('密码'),password_expired='N',password_last_changed=now()whereuser='root';#如果你的mysql是5.6版本修改root密码(mysql5.6版本)updateusersetpassword=password('密码')whereuser='root';#使其生效flushprivileges;#退出exit;

2.3、新增管理员用户

如果你不想修改root密码,可以新增一个管理员用户,操作如下:

#登录mysql,此时还没有进入数据库,使用如下命令usemysql;#刷新数据库flushprivileges;#创建一个用户,并赋予管理员权限grantallprivilegeson*.*to'用户'@'%'identifiedby'密码';#例如,创建一个admin用户,密码为admingrantallprivilegeson*.*to'admin'@'%'identifiedby'admin';

2.4、重启服务器

上面操作完成之后,其实还没有完,需要关闭授权表功能,重启服务器

#修改/etc/my.cnf文件vim/etc/my.cnf#在[mysqld]区域删除改配置,并保存my.cnf文件#skip-grant-tables#重启mysqlsystemctlrestartmysqld#此时,修改完毕

三、测试连接

使用我们刚刚新建的admin用户进行测试登录

#admin登录mysql-uadmin-p#输入密码admin,此时可以登录

四、总结

如果您也出现忘记密码的情况,可以使用此方法解决当前问题。

mysql5.7.6版本后,废弃user表中password()方法,所以旧方法重置密码对mysql8.0版本是行不通的!

mysql8可以采用此方法修改root密码:

#在skip-grant-tables模式下,将root密码置空updateusersetauthentication_string=''whereuser='root';#退出,将/etc/my.cnf文件下的skip-grant-tables去掉,重启服务器#登录mysqlmysql-uroot-p#因为密码置空,直接回车,进入数据库之后,修改密码ALTERUSER'root'@'localhost'IDENTIFIEDBY'Hello@123456';#因为mysql8,使用强校验,所以,如果密码过于简单,会报错,密码尽量搞复杂些!

上述内容就是MySQL密码忘记怎么办,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。