一键重置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
) 

::禁用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
(0)

相关推荐

  • mysql修改密码的三方法和忘记root密码的解决方法

    方法1: 用SET PASSWORD命令 复制代码 代码如下: mysql -u rootmysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); 方法2:用mysqladmin 复制代码 代码如下: mysqladmin -u root password "newpass" 如果root已经设置过密码,采用如下方法 复制代码 代码如下: mysqladmin -u root password oldpas

  • 不重启Mysql修改root密码的方法

    一.一般忘记密码的解决办法,需要重启Mysql1.skip-grant-tables我们常用的方法是使用skip-grant-tables选项,mysqld server启动之后并不使用权限系统(privilege system).用户不需要任何账号.不受任何限制的访问数据库中所有数据.为了安全起见,通常加上 skip-networking ,mysqld不侦听任何TCP/IP连接请求.操作过程如下,1)修改my.cnf配置文件,在mysqld选项中添加skip-grant-tables和ski

  • MySQL修改root账号密码的方法

    MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法 1: 使用set password语句修改 mysql> select user(); +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.08 sec) mysql> set password=password('123456'); Query OK,

  • mysql误删root用户恢复方法

    装完数据库清理一些默认账号的时候不小心把root删除了,flush privileges 之后的新 root 忘了grant任何权限,查看mysqld选项里面有个 −−skip-grant-tables 复制代码 代码如下: #/usr/libexec/mysqld --verbos --help mysql5.5手册说明如下 复制代码 代码如下: --skip-grant-tables This option causes the server to start without using t

  • 一键重置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 ) ::以&qu

  • mysql root密码的重设方法(亲测可用)

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

  • 一键重置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 t

  • 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 服务 打开命

  • 重置mysql的root密码最简单的方法

    我的mysql版本 MYSQL V5.7.9,旧版本请使用: UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root'; Mac OS X - 重置 MySQL Root密码 密码太多记不住??你是否忘记了Mac OS 的MySQL的root密码? 通过以下4步就可重新设置新密码: 1. 停止 mysql server. 通常是在 '系统偏好设置' > MySQL > 'Stop MySQL Server' 2. 打开终端

  • 重置MySQL数据库root密码(linux/windows)

    (1)Linux系统 在SSH中执行下面的命令即可将MySQL密码重置为diavps 复制代码 代码如下: rm -f reset-mysql-root-password.phps wget http://down.hostwiki.info/mysql/reset-mysql-root-password.phps php reset-mysql-root-password.phps diavps 注意不要在带有管理面板(如Kloxo或DA)的环境中使用这个方法重置. 脚本中第13行中的以安全模

  • linux系统中重置mysql的root密码

    大家知道,我们经常在linux或者windows需要用到mysql数据库,但是我们经常会犯一种特别低级的小错误,小编也时常会犯的错误,突然就忘记了mysql的root的密码,之后就会带来一系列的麻烦,下面小编告诉大家怎么在linux操作系统重置root的密码. 方法/步骤 第一步,检查操作系统是否安装有mysql数据库,在debian操作系统检查命令:dpkg --list |grep mysql 如下图: 先检查root用户密码是否已经忘记,输入命令:mysql -uroot -p 如下图:

  • CentOS下重置MySQL的root密码的教程

    本人在CentOS6.4上安装万mysql后,无法通过root进入,因为安装的时候,并没有设置root密码,似乎有个初始随机密码,但是不记得了,太麻烦,直接重置root密码. 首先,你必须要有操作系统的root权限了.要是连系统的root权限都没有的话,先考虑root系统再走下面的步骤. PS:赋予用于root权限 方法一: 修改 /etc/sudoers 文件,找到%wheel一行,把前面的注释(#)去掉 ## Allows people in group wheel to run all c

  • 在ubuntu中重置mysql服务器root密码的方法

    首先停止mysql服务: 复制代码 代码如下: root@webserver:/home/webmaster# service mysql stop 接着采用忽略密码认证模式重新创建一个mysql服务: 复制代码 代码如下: root@webserver:/home/webmaster# mysqld --user=mysql --skip-grant-tables --skip-networking & 成功启动后返回PID及其它启动信息 复制代码 代码如下: [1] 3591 root@we

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

    本例中以CentOS6.6下修改MySQL5.1.73举例说明. 1.首先输入"service mysqld status"查看当前mysql服务状态,下图显示正在mysqld服务正在运行中. 2.输入"killall -TERM mysqld"命令停止所有的mysqld进程. 3.输入"service mysqld stop"命令停止mysqld服务. 4.输入"mysqld_safe  --skip-grant-tables &am

随机推荐