批处理脚本一键重置mysql的root密码

一键重置mysql的root密码的实现脚本。

@echo off

title mysql

::从注册表找到Mysql的安装路径写入文件mysql.txt
reg query HKLM\SYSTEM\ControlSet001\Services\MySQL | find /I "ImagePath">C:\mysql.txt
if %errorlevel% neq 0 (
echo MySQL not found
pause
exit
)

::以”为分隔符,截取第二段内容保存到变量mysqlPath
FOR /F tokens^=2^ delims^=^" %%i in (C:\mysql.txt) do set mysqlPath=%%i
del C:\mysql.txt /f

::路径中/替换为\
set mysqlPath=%mysqlPath:/=\%

::删除路径最后一个字符(该字符不可见,可能是回车换行之类的)
set mysqlPath=%mysqlPath:~0,-1%

:BACKTOMAIN

::取得路径最后一个字符看等不等于\
set character=%mysqlPath:~-1,1%

::如果最后一个字符不等于\,那么跳转到GETPATH删除mysqlPath的最后一个字符
if not %character% == \ goto GETPATH

::进入mysql安装路径C:\Program Files\MySQL\MySQL Server 5.0\bin
cd /d "%mysqlPath%"

::echo %mysqlPath%

if %errorlevel% neq 0 (
echo MySQL not found
pause
exit
) www.jbxue.com

::禁用mysql服务,跳过权限验证修改密码
taskkill /F /IM mysqld-nt.exe
net stop mysql >nul
start /b mysqld-nt --skip-grant-tables
ping -n 2 127.0.0.1 >nul
echo use mysql >c:\config.tmp
echo update user set password=password("") where user="root";>>C:\config.tmp
echo flush privileges; >>C:\config.tmp
echo exit >>C:\config.tmp

::因为是交互式,所以从文件读取内容
mysql <C:\config.tmp
taskkill /F /IM mysqld-nt.exe
net stop mysql >nul
net start mysql
del C:\config.tmp /F
pause
exit

::删除路径最后一个字符,跳回主程序
:GETPATH
set mysqlPath=%mysqlPath:~0,-1%
goto BACKTOMAIN
如果是用wamp一键安装需要改一些脚本,主要是注册表搜索路径改变,返回值改变,服务名改变了,mysql安装路径变成D:\wamp\bin\mysql\mysql5.5.24\bin,少了mysqld-nt这个东西,进程里面也没有mysqld-nt.exe
@echo off

title mysql

reg query HKLM\SYSTEM\ControlSet001\Services\wampmysqld | find /I "ImagePath">C:\mysql.txt

if %errorlevel% neq 0 (
echo MySQL not found
pause
exit
)

FOR /F "tokens=3 delims= " %%i in (C:\mysql.txt) do set mysqlPath=%%i
del C:\mysql.txt /f
set mysqlPath=%mysqlPath:/=\%
set mysqlPath=%mysqlPath:~0,-1%

:BACKTOMAIN
set character=%mysqlPath:~-1,1%
if not %character% == \ goto GETPATH
cd /d "%mysqlPath%"

::echo %mysqlPath%

if %errorlevel% neq 0 (
echo MySQL not found
pause
exit
)

taskkill /F /IM mysqld.exe
net stop wampmysqld >nul
start /b mysqld -nt --skip-grant-tables
ping -n 2 127.0.0.1 >nul
echo use mysql >c:\config.tmp
echo update user set password=password("") where user="root";>>C:\config.tmp
echo flush privileges; >>C:\config.tmp
echo exit >>C:\config.tmp

mysql <C:\config.tmp

taskkill /F /IM mysqld.exe
net stop wampmysqld >nul
net start wampmysqld
del C:\config.tmp /F

pause
exit

:GETPATH
set mysqlPath=%mysqlPath:~0,-1%
goto BACKTOMAIN

批处理脚本一键重置mysql的root密码

时间: 2024-10-27 08:28:36

批处理脚本一键重置mysql的root密码的相关文章

重置mysql的root密码

在my.ini的段[mysqld]中增加 skip-grant-tables(只增加它即可) 2. 重启mysql服务 3. 打开cmd,转向mysql的安装路径 C:\Program Files\MySQL\MySQL Server 5.1\bin 4. 输入 mysql -uroot -p 5. 密码 输入空,这时会自动转向 sql输入方式 6. 输入 use mysql 7. 输入 update user set password=password('新密码') where user='r

windows下重置mysql的root密码方法介绍(转)

自己在内网操作的,遇到了一些的问题,其中一个是需要重置密码的,所以网上找了两篇文章,都有一些借鉴的地方. 版本mysql5.7.2,linux系统 除了参考文章还有几点说明: service mysqld status 查看mysql是否在运行 service mysqld stop 关闭mysql,进入安全模式(修改)前要先关闭mysql 修改密码使用update前建议先查看一下mysql.user表的结构,确认密码存在那个字段 mysql查看表结构命令(https://www.cnblogs

重置MYSQL 中root 密码

Linux平台:1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的状态下,其他的用户也可以任意地登录和修改MySQL的信息.可以采用将MySQL对外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全状态.最安全的状态是到服务器的Console上面操作,并且拔掉网线. 2.修改MySQL的登录设置:# vim  /etc/my.cnf在[mysqld]的段中加上

lnmp重置mysql数据库root密码

第一种方法:用军哥的一键修改LNMP环境下MYSQL数据库密码脚本 一键脚本肯定是非常方便.具体执行以下命令: wget http://soft.vpser.net/lnmp/ext/reset_mysql_root_password.sh sh reset_mysql_root_password.sh 方便吧! 第二种方法:通过命令修改,具体如下: a.停止MySQL服务 执行:/etc/init.d/mysql stop b.跳过验证启动MySQL /usr/local/mysql/bin/

windows 下重置 mysql 的 root 密码

今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常. 使用 root 账号登录 mysql 数据库,结果提示密码不匹配.我突然意识到,服务器可能遭受到 SQL注入 攻击了-- 至于事故发生的原因和之后所做的补救措施,以后有机会我会聊一聊的.这里我主要讲一下 mysql 用户密码的重置步骤. 重置 root 密码 在忘记 root 密码的情况下,通过 mysql 的安全模式重置 root 密码. 1. 停止 MySQL 服务 打开命令提示

详解如何在Redhat Linux(CentOS)下重置MySQL根(Root)密码

1.首先输入"service mysqld status"查看当前mysql服务状态,下图显示正在mysqld服务正在运行中. 2.输入"killall -TERM mysqld"命令停止所有的mysqld进程. 3.输入"service mysqld stop"命令停止mysqld服务. 4.输入"mysqld_safe  --skip-grant-tables &"命令以无密码方式进入MySQL安全模式. 5.输入

linux下重置mysql的root密码

# /etc/init.d/mysql stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; mysql> FLUSH PRIVILEGES; mysql> quit # /etc/init.d/my

mysql 修改root 密码

找到 mysql 的启动配置文件    windows 下面是 my.ini ,Linux 下面叫 my.cnf ,linux下面如果没有特别指定目录,则 my.cnf 一般存放于 /etc/ 目录下面.2. 修改 mysql 配置文件    在配置文件中找到 [mysqld] 一行,在下面添加 skip-grant-tables 后保存该文件并退出.3. 重新启动 mysql 数据库4. 重置 mysql 的 root 密码    方法一:使用 " 路径/mysql -h hostname(你

XAMPP笔记之重置MySQL/MariaDB Root用户密码

目前在使用MYSQL,在MAC下安装使用的是XAMPP 4.5.2,需要重置MySQL/MariaDB Root用户密码.遇到一个小问题记录于下: 1,根据官方指导(http://localhost/dashboard/docs/reset-mysql-password.html)处的提示,运行如下命令: (1)先启动MYSQL SERVER,这个没有问题: (2)打开终端,切换到XAMPP的默认安装位置,在我的MAC上是 /Applications/XAMPP/xamppfiles/bin ,