解决mysql密码错误,在my.ini里添加skip-grant-tables都没有用

本文介绍了修改MySQL数据库root密码的详细步骤,包括停止数据库、在bin目录下打开cmd运行命令、连接数据库、根据不同版本运行修改密码的语句、刷新权限、退出并重新登录数据库等内容,还说明了不同版本密码字段名的变化。

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

1、停止数据库

net stop mysql

2、在mysql的bin目录下,打开cmd窗口,运行如下命令:注意下面的路径是ProgramData下MySQL中my.ini文件的路径
(感觉这和直接在my.ini文件里添加ship-grant-tables没有什么两样,但我在my.ini文件里试过多次,没有一次管用,真的绝望)

mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables

3、任意打开第二个cmd,连接mysql

mysql -uroot -p

遇到需要输入密码时,直接回车,就可以进去

4、连接好mysql之后,运行命令

show databases;

5、继续使用如下命令

use mysql;

6、使用命令修改root密码(两种情况)

  • 版本为5.7以前的mysql,运行这条语句(此处的新密码为你要设置的新密码)
UPDATE user SET Password=PASSWORD('新密码') where USER='root';update mysql.user set password=PASSWORD("root") where User="root";
  • 版本为5.7及其之后的运行这条语句
UPDATE user SET authentication_string=PASSWORD('新密码') where USER='root';update mysql.user set authentication_string=PASSWORD("root") where User="root";

原因是:mysql中密码的字段名由password变为了authentication_string

For Mysql before 5.7 it is "password"

Since MySQL 5.7 it is "authentication_string"

7、刷新权限

FLUSH PRIVILEGES;

8、退出数据库

quit

9、重新登录数据库,并输入密码就可以了

mysql -uroot -p

 

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值