找回MySQL管理员root密码的3个妙招

 更新时间:2022年11月01日 11:19:24   作者:IT邦德  
最近笔者的一台mysql服务器忘记了超级管理员root密码,而mysql修改密码必须得知道旧密码的情况下才能进行,真的很郁闷,找了很多方法都无 效,最终找到了解决方法,下面把mysql root密码找回妙招分享给大家,感兴趣的朋友一起看看吧

前言

最近有粉丝和网友常问到,如何找回MySQL管理员root的密码的方法,总结以下方法分享给大家

📣 1.init-file找回

在MySQL中,若root密码丢失则无法直接找回,只能通过特殊方式来修改密码。
步骤1:先停止MySQL服务 Kill -9 进程号
步骤2:编辑修改密码文件
alter user 'root'@'%' identified by 'jeames';
alter user 'root'@'localhost' identified by 'jeames';
步骤3:用如下方法启动MySQL
mysqld_safe --defaults-file=/etc/my.cnf --init-file=/tmp/mysql-init.sql &
步骤4:修改密码
alter user root@'localhost' identified with mysql_native_password by 'root';
alter user root@'%' identified with mysql_native_password by 'root';
flush privileges;
步骤4:关闭数据库后重启

若是 Windows 服务,则可以通过如下命令启动:
D:\MySQL\mysql-8.0.15-win64\bin\mysqld --defaults-file=D:\MySQL\mysql-8.0.15-win64\data803314\mysql803314.ini --init-file=d:\mysql-init.sql --console

📢📢📢 注意,此时可以以任意一个密码登陆也可以以一个空密码登陆 MySQL

📣 2.skip-grant-tables找回

步骤1:先停止MySQL服务
步骤2:启动 MySQL 服务
mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
注意,此时可以以任意一个密码登陆也可以以一个空密码登陆 MySQL

若 MySQL 是 8.0 且安装在 Windows 上,则需要加上–shared-memory 参数:
G:\mysql-8.0.23-winx64\bin\mysqld --datadir=G:\mysql-8.0.23-winx64\data80323308 --console --skip-grant-tables --shared-memory
然后再开一个窗口,执行下面命令,此种方法使用内存的方式启动
cd G:\mysql-8.0.23-winx64\bin

📣 3.修改参数文件找回

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命令行
5.修改root用户密码,此处注意,有时候会报不允许修改,先flush privileges再执行即可
--5.7版本
SQL> update mysql.user set authentication_string=password('root') where user='root';
SQL>  flush privileges;
--8.0版本
mysql> alter user root@'localhost' identified with mysql_native_password by '1'; 
--查询
mysql> select user,host,grant_priv,super_priv,authentication_string,password_last_changed 
from mysql.user; 
6.把/etc/my.cnf中的skip-grant-tables注释掉,然后重启mysql,即:service mysqld restart
好了,下面就可以用root新的密码登录了!

mysql服务器忘记了超级管理员root密码

最近笔者的一台mysql服务器忘记了超级管理员root密码,而mysql修改密码必须得知道旧密码的情况下才能进行,真的很郁闷,找了很多方法都无 效,最终找到了解决方法,拿来分享,希望能给同样遭遇的朋友带来帮助。只要你的服务器操作系统是Windows XP/2000/2003/NT都可以使用这个方法来重新修改mysql超级管理员root的密码。

1、停止mysql服务

开始→运行→输入cmd,打开命令提示符窗口,然后输入net stop mysql,相关截图如下所示:

2、在命令提示符窗口中进入mysql安装目录中的bin目录

在命令提示符窗口中分别输入以下两条命令,每输入一条命令按回车键:

d:

cd www\mysql\bin

3、进入mysql安全模式(这样不用输入密码就能进入mysql数据库)

输入mysqld-nt –skip-grant-tables,此时屏幕上可能没啥反应,不用管它,放在一边接着往下做,相关截图如下所示:

4、重新打开一个cmd命令提示符窗口,开始→运行→输入cmd,在新打开命令提示符窗口中输入mysql -uroot -p,然后提示输入密码,不用输入密码,直接按回车键,相关截图如下所示:

5、输入以下命令开始修改超级管理员root密码(注意:命令中mysql.user中间有个“点”;命令中的htmer.com即为新密码,根据你的实际情况,换成你的新密码即可)

update mysql.user set password=PASSWORD(‘htmer.com') where User='root';

6、刷新权限表,输入如下命令

flush privileges;

7、退出,输入如下命令

quit

8、重新启动mysql服务(也可以直接重启服务器)

①打开任务管理器,将mysql-nt.exe这个进程结束,相关截图就不给大家分享出来了。

②在命令提示符中输入net start mysql即可重新启动mysql服务了。

到此这篇关于找回MySQL管理员root密码的3个妙招的文章就介绍到这了,更多相关mysql root密码找回内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySql 5.7.17 winx64的安装配置详细教程

    MySql 5.7.17 winx64的安装配置详细教程

    这篇文章主要介绍了MySql 5.7.17 winx64的安装配置教程,初始化数据库、配置相关信息的方法在本文中介绍的非常详细,需要的朋友参考下
    2017-01-01
  • MySQL中将一列以逗号分隔的值行转列的实现

    MySQL中将一列以逗号分隔的值行转列的实现

    这篇文章主要介绍了MySQL中将一列以逗号分隔的值行转列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • SQL中distinct 和 row_number() over() 的区别及用法

    SQL中distinct 和 row_number() over() 的区别及用法

    这篇文章主要介绍了SQL中distinct 和 row_number() over() 的区别及用法的相关资料,需要的朋友可以参考下
    2017-03-03
  • MySQL的线程池原理学习教程

    MySQL的线程池原理学习教程

    这篇文章主要介绍了MySQL的线程池原理学习教程,包括线程池的函数调用与关键接口等重要知识,非常推荐!需要的朋友可以参考下
    2015-11-11
  • mysql数据库迁移数据目录至另一台服务器详细步骤

    mysql数据库迁移数据目录至另一台服务器详细步骤

    MySQL数据库转移到新服务器是指将现有的MySQL数据库迁移至一个新的服务器环境中,下面这篇文章主要给大家介绍了关于mysql数据库迁移数据目录至另一台服务器的详细步骤,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • 一文弄懂MySQL索引创建原则

    一文弄懂MySQL索引创建原则

    在关键字段的索引上建与不建索引,查询速度相差近100倍,但差的索引和没有索引效果一样,索引并非越多越好,因为维护索引需要成本,下面这篇文章主要给大家介绍了关于MySQL索引创建原则的相关资料,需要的朋友可以参考下
    2022-02-02
  • MySQL InnoDB如何保证事务特性示例详解

    MySQL InnoDB如何保证事务特性示例详解

    这篇文章主要给大家介绍了关于MySQL InnoDB如何保证事务特性的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • MySQL中EXPLAIN的/基本使用及字段详解

    MySQL中EXPLAIN的/基本使用及字段详解

    EXPLAIN命令是MySQL中用于解析SQL查询语句的工具,帮助开发者理解MySQL如何执行SQL语句,通过EXPLAIN可以查看SQL执行的详细信息,如表的读取顺序、使用的索引、数据读取操作的类型等,这篇文章主要介绍了MySQL中EXPLAIN的/基本使用及字段详解,需要的朋友可以参考下
    2024-09-09
  • Mysql学习心得之插入、更新、删除记录

    Mysql学习心得之插入、更新、删除记录

    在程序开发过程中,离不开数据库,数据库离不开增删改查操作,下面小编把我对mysql学习之插入、更新、删除记录心得总结分享给大家,需要的朋友可以参考下
    2015-08-08
  • Mysql的库函数整理大全(非常详细!)

    Mysql的库函数整理大全(非常详细!)

    MySQL数据库中提供了很丰富的函数,下面这篇文章主要给大家介绍了关于Mysql库函数的相关资料,文中通过代码介绍的非常详细,对大家学习或者使用Mysql具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-04-04

最新评论