Windows下忘记MySQL root密码解决方法

Windows下忘记MySQL密码的解决办法网上好多好多,可是,我发现,如果采用Windows服务启动的时候,安装网上通过命令行修改root密码的方法行不通。

经过实验,发现,Windows的服务运行的配置并不是在命令行下的配置。
(查看Windows MYSQL服务的命令行如下)
查看Windows MYSQL服务的命令行如下
实际的运行路径配置文件路径为:ProgramData,不是程序目录

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56

那么,通过程序目录下配置文件来修改MySQL的密码并不能对服务启动的MySQL密码生效,从目录的数据可以看出,数据库的位置是不同的,Windows服务启动的数据库目录在ProgramData下,所以,我们通过程序目录下修改密码是,是修改了程序目录的数据库,而没有修改服务程序下的数据库,导致了修改密码,却不能成功。

Windows下修改MySQL root密码的正确姿势为:

  1. 找到MySQL启动的配置文件路径
  2. 在运行的配置文件中,mysqld节下面添加skip-grant-tables参数,如果确认配置文件路径,也可以采用命令行的参数指定方式。
    • 通过Windows服务的命令行参数(见前面图),找到配置文件位置,修改配置文件,再重启MySQL服务
    • 通过Windows服务的命令行参数(见前面图),找到配置文件位置,通过命令行指定参数如下命令运行(运行前,手动关闭MySQL服务):

      mysqld --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1\my.ini" --console --skip-grant-tables

      这里,需要注意defaults-file使用服务启动的路径中的配置文件。
  3. 用MySQL命令行修改root密码
    mysql -uroot -p
    出现:
    Enter password:
    在这里直接回车,不用输入密码。
    然后就就会出现登录成功的信息,
    修改root密码:
use mysql;
UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
FLUSH PRIVILEGES;
quit

重新登录:
mysql -uroot -p
出现输入密码提示,输入新的密码即可登录:
Enter password: *
显示登录信息: 成功 就一切ok了
(4)恢复配置参数,再启动MySQL

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值