mysql忘记root密码而 mysqld –skip-grant-tables 报错时

本文介绍在Windows平台上,当MySQL5.6的root密码丢失时,如何通过禁用权限表启动服务并更新密码的方法。具体步骤包括:停止MySQL服务、修改my.ini文件、手动启动MySQL服务并设置新密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL 5.6 root密码丢失,(window平台)使用mysqld –skip-grant-tables启动MySQL服务,出现警告:

1 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.Please use --explicit_defaults_for_timestamp server option (seedocumentation for more details)

解决方法:

Step1:

1 进入cmd模式,输入命令:net stop mysql56 停止开机启动的 mysql services(如果是手动启动可以跳过Step1,我的pc是开机启动),我电脑上的mysql services名字是mysql56你的名字可能不一样!, net stop xxx (xxx代表你的mysql services名字)

这里可以直接在services.msc中去关闭服务即可,右击mysql服务可以找到对应的myql的安装位置,

Step2:

1 找到mysql安装目录下的 my.ini文件,在[mysqld]下方添加:
1 explicit_defaults_for_timestamp = true
2  
3 添加好后像这样:
1 [mysqld]
2 explicit_defaults_for_timestamp = true

Step3:

1 现在开始使用mysqld命令手动启动mysql services,既然是手动启动,肯定要为该命令指定启动配置文件my.ini的存放路径,我的路径是:D:\java\MySQL\ProgramData\MySQL Server 5.6
2  
3 这里my.ini不一定找得到,可以用everything软件查找

在cmd模式下输入:
1 mysqld --defaults-file="D:\J2EE\mysql\MySQL Server 5.6\my.ini" --skip-grant-tables
2  
3 输入:
1 mysql -u root
2  
3 可以看到已经进入mysql>状态下了,重新给root用户设置密码:
1 mysql>UPDATE mysql.user SET Password=PASSWORD("newpassword")  WHERE User='root' and Host='localhost';

Step4:

1 mysql>FLUSH PRIVILEGES;
2 加载权限表,让新密码生效!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值