一键清空(重置)本地MySQL8.0密码脚本

 更新时间:2023年01月13日 10:49:38   作者:小小明-代码实体  
这篇文章主要介绍了一键清空本地MySQL8.0密码脚本,再也不用担心MySQL密码忘记了,很容易的解决了忘记mysql密码的烦恼,操作方法也非常简单,需要的朋友可以参考下

之前我开发了一个爆破MySQL简单密码的Python脚本,但是对于MySQL就安装在自己机器上这种情况根本没有必要,只要我们拥有关闭和启动MySQL服务进程的权限,我们就可以直接重设密码。

具体原理:

  • 结束MySQL服务进程
  • 以跳过权限表检查的方式启动MySQL服务进程
  • 修改存储用户密码的表,指定root本地用户的密码为空
  • 结束MySQL服务进程
  • 以正常方式启动MySQL服务进程

注意:命令行方式操作服务进程需要管理员权限

最终编写如下cmd脚本(保存文件名后缀为.cmd):

TASKKILL /F /IM mysqld.exe /T
start D:\software\mysql-8.0.25-winx64\bin\mysqld --console --skip-grant-tables --shared-memory
echo UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost';>t.sql
TIMEOUT /T 2
D:\software\mysql-8.0.25-winx64\bin\mysql<t.sql
TASKKILL /F /IM mysqld.exe /T
net start mysql8.0

以管理员身份运行以上脚本,即可清空本地MySQL的密码:

在这里插入图片描述

之所以写D:\software\mysql-8.0.25-winx64\bin\这种全路径形式是因为我没有将MySQL的bin目录加入path环境变量,若你的电脑已经将该目录加入环境则可以去掉,否则修改为你的MySQL安装位置的bin目录。

net start mysql8.0启动了名称为mysql8.0的服务。这是我在前面安装MySQL8.0时这么命名服务名称的,详见:不卸载原有mysql直接安装mysql8.0

需要更换为你的MySQL注册的服务名称。若没有注册服务,则需要按照你平时启动MySQL服务的方法启动。

执行完以上脚本后就可以免密登录MySQL了,登录后就可以执行以下命令,修改MySQL为任意密码(这里修改密码为123456):

ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

然后重启MySQL服务使密码生效:

net start mysql8.0
net stop mysql8.0

其实我们也可以脚本中自行进行管理员权限提权,这样就可以直接双击脚本运行。

只需在脚本开头加上如下这行命令:

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

对于MySQL 5.x版本,重置脚本更加简单,可以直接在脚本中设置MySQL密码。

参考脚本内容为:

TASKKILL /F /IM mysqld.exe /T
start mysqld --skip-grant-tables
echo ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';>t.sql
TIMEOUT /T 2
mysql<t.sql
TASKKILL /F /IM mysqld.exe /T
net start MySQL

根据实际情况修改即可。

到此这篇关于一键清空(重置)本地MySQL8.0密码脚本的文章就介绍到这了,更多相关清空MySQL8.0密码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql建库字符集和排序规则及说明

    Mysql建库字符集和排序规则及说明

    这篇文章主要介绍了Mysql建库字符集和排序规则及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • 一文带你了解MySQL的左连接与右连接

    一文带你了解MySQL的左连接与右连接

    在MySQL中,左查询和右查询是通过使用LEFT JOIN和RIGHT JOIN关键字来执行的,本文通过详细的代码示例简单介绍这两种查询方法的语法,需要的朋友可以参考下
    2023-07-07
  • 基于SQL中的数据查询语句汇总

    基于SQL中的数据查询语句汇总

    以下是对SQL中的数据查询语句进行了汇总介绍,需要的朋友可以过来参考下
    2013-07-07
  • CentOS mysql安装系统方法

    CentOS mysql安装系统方法

    CentOS mysql安装还是很常用的软件,我就学习如何CentOS mysql安装,在这里拿出来和大家分享一下,希望对大家有用。
    2010-11-11
  • MySQL5.7.24版本的数据库安装过程图文详解

    MySQL5.7.24版本的数据库安装过程图文详解

    这篇文章主要介绍了MySQL5.7.24版本的数据库安装过程,需要的朋友可以参考下
    2018-11-11
  • MySQL Router的安装部署

    MySQL Router的安装部署

    这篇文章主要介绍了MySQL Router的安装部署,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-04-04
  • MySql 字符串中提取数字的实现示例

    MySql 字符串中提取数字的实现示例

    在MySQL中,有时需要从字符串中提取数字,本文就来介绍一下MySql 字符串中提取数字的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • 解决Mysql5.7中文乱码的问题

    解决Mysql5.7中文乱码的问题

    在使用mysql5.7时,会发现通过web端向数据库中写入中文后会出现乱码,但是在数据库中直接操作SQL语句插入数据后中文就显示正常,这个问题怎么解决呢,下面小编给大家分享下解决方案
    2017-03-03
  • MySQL中or语句用法示例

    MySQL中or语句用法示例

    这篇文章主要介绍了MySQL中or语句用法示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • Mysql误操作后利用binlog2sql快速回滚的方法详解

    Mysql误操作后利用binlog2sql快速回滚的方法详解

    相信每个和数据库打交道的程序员都会碰一个问题,MySQL误操作后如何快速回滚?那么下面这篇文章主要给大家介绍了关于Mysql误操作后利用binlog2sql快速回滚的相关资料,文中介绍的非常详细,需要的朋友可以参考下。
    2017-07-07

最新评论