windows环境下mysql忘记密码如何重置
2015-07-27 19:05
211 查看
本文主要是针对mysql重置密码过程中出现“mysqld不是内部命令或外部命令”的问题而写的。
网上有很多关于mysql忘记密码了如何找回的文章,但是很多说的都不够详细,特别是还要用到DOS命令,可能这对于很大一部分刚接触这方面的朋友来说还是个难题。本文针对网上教程中有难点和疑惑的步骤进行再次剖析,如果能让你少走一步弯路,那我的目的也就达到了。下面是网上流传最多的方法,原作者无从知晓,这里表示感谢。
关闭正在运行的MySQL。
打开DOS窗口,转到mysqlbin目录。
输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。
再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysqlbin目录。
输入mysql回车,如果成功,将出现MySQL提示符 >
连接权限数据库>use mysql; (>是本来就有的提示符,别忘了最后的分号)
改密码:> update user set password=password("123456") where user="root"; (别忘了最后的分号)
刷新权限(必须的步骤)>flush privileges;
退出 > q
注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码123456登陆。
主要是第二步:“打开DOS窗口,转到mysqlbin目录。”
可能有童鞋不知道这一步如何操作
具体就是:使用win+r键,打开运行,键入cmd敲回车就到了DOS窗口。然后找到mysql/bin所在的目录,我是使用APMserv搭建的服务器环境,程序就安装在c盘根目录,所以我的目录是在C:APMServ5.2.6APMServ5.2.6MySQL5.1bin。如果你是使用phpnow搭建的环境,那么你的安装目录应该是你自己指定的,找到它,复制这个地址,然后回到cmd里面,输入cd (cd后面有一个空格),然后鼠标右键粘贴刚才复制的路径,按回车。就转到mysql/bin目录了。
或者,更简单的,在mysql安装目录下新建一个文本文档,输入
cmd.exe
保存,然后将该文档的后缀名改为.bat批处理文件,双击打开就直接切换到该目录了。
然后就到了问题的所在了,这时我们按照这一步
“输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了”
输入mysqld --skip-grant-tables之后就提示“mysqld不是内部命令或外部命令”,是什么原因呢?如果你碰到这个提示的话,将命令改成mysqld-nt --skip-grant-tables之后就可以搞定了。
好了,问题也解决了,其他的按照原教程的步骤来就ok了,需要注意的是下面三个步骤中的命令最后的分号都不能忘了。
连接权限数据库>use mysql;
改密码:> update user set password=password("520") where user="root";
刷新权限(必须的步骤)>flush privileges;
总结:发现出现这个问题是因为使用的mysql版本过低的原因,因为后来的版本更新之后就没有mysqld-nt.exe这个文件了,也就是只有网上流传的教程中的mysqld.exe了。多以,如果你安装新版的mysql就不会出现这个问题了。
From:http://www.augsky.com/78.html
网上有很多关于mysql忘记密码了如何找回的文章,但是很多说的都不够详细,特别是还要用到DOS命令,可能这对于很大一部分刚接触这方面的朋友来说还是个难题。本文针对网上教程中有难点和疑惑的步骤进行再次剖析,如果能让你少走一步弯路,那我的目的也就达到了。下面是网上流传最多的方法,原作者无从知晓,这里表示感谢。
关闭正在运行的MySQL。
打开DOS窗口,转到mysqlbin目录。
输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。
再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysqlbin目录。
输入mysql回车,如果成功,将出现MySQL提示符 >
连接权限数据库>use mysql; (>是本来就有的提示符,别忘了最后的分号)
改密码:> update user set password=password("123456") where user="root"; (别忘了最后的分号)
刷新权限(必须的步骤)>flush privileges;
退出 > q
注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码123456登陆。
主要是第二步:“打开DOS窗口,转到mysqlbin目录。”
可能有童鞋不知道这一步如何操作
具体就是:使用win+r键,打开运行,键入cmd敲回车就到了DOS窗口。然后找到mysql/bin所在的目录,我是使用APMserv搭建的服务器环境,程序就安装在c盘根目录,所以我的目录是在C:APMServ5.2.6APMServ5.2.6MySQL5.1bin。如果你是使用phpnow搭建的环境,那么你的安装目录应该是你自己指定的,找到它,复制这个地址,然后回到cmd里面,输入cd (cd后面有一个空格),然后鼠标右键粘贴刚才复制的路径,按回车。就转到mysql/bin目录了。
或者,更简单的,在mysql安装目录下新建一个文本文档,输入
cmd.exe
保存,然后将该文档的后缀名改为.bat批处理文件,双击打开就直接切换到该目录了。
然后就到了问题的所在了,这时我们按照这一步
“输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了”
输入mysqld --skip-grant-tables之后就提示“mysqld不是内部命令或外部命令”,是什么原因呢?如果你碰到这个提示的话,将命令改成mysqld-nt --skip-grant-tables之后就可以搞定了。
好了,问题也解决了,其他的按照原教程的步骤来就ok了,需要注意的是下面三个步骤中的命令最后的分号都不能忘了。
连接权限数据库>use mysql;
改密码:> update user set password=password("520") where user="root";
刷新权限(必须的步骤)>flush privileges;
总结:发现出现这个问题是因为使用的mysql版本过低的原因,因为后来的版本更新之后就没有mysqld-nt.exe这个文件了,也就是只有网上流传的教程中的mysqld.exe了。多以,如果你安装新版的mysql就不会出现这个问题了。
From:http://www.augsky.com/78.html
相关文章推荐
- 关于MySQL中添加数据的两种方法
- MySql数据库连接操作
- 解决mysql"Access denied for user'root'@'IP地址'"问题
- 为mysql数据库建立索引
- Mysql 小技巧
- mysqldump导出时 --set-gtid-purged=OFF
- mysql插入中文是乱码,出现???号
- Table 'barfoo_datacenter_config.parttemplates' doesn't exist------Mysql
- mysql提示 Lock wait timeout exceeded解决办法
- Mysql 根据时间戳按年月日分组统计
- mac os 10.10.4 上安装mysql5.6.26
- mysql IFNULL IF
- 关于 MySQL 密码你应该知道的那些事
- 转 -- MySQL UNDERSTANDING MAX_CONNECT_ERRORS
- mysql 分组后取每个组内最新的一条数据
- mysql变量
- yum 安装mysql
- mysql控制流函数
- Ubuntu下mysql数据库插入中文出现乱码的解决方法
- mysql定时备份