Mysql忘记密码 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)

4 篇文章 0 订阅
3 篇文章 0 订阅

linux下当我输入mysql -uroot -p 之后让我输入密码

输入完密码后 报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)

分析了一下报错的原因是密码错误引起的,我这边是忘记了密码(所以下面的操作是重置密码步骤)

  1. 修改 /etc/my.cnf 文件,在文件中添加skip-grant-tables(如图),
  2. 保存之后 重启mysql          命令   service mysqld restart
  3. 重启完成后看一下mysql的状态   命令service mysqld status
  4. 启动完成后,直接在命令行输入 mysql     会直接进入了mysql
  5. 进入之后,下面开始更改密码 命令update user set password=password("新密码") where user="root";
    1. 发现报错ERROR 1046 (3D000): No database selected ,报错的原因是没有选中database
    2. 执行 use mysql;
  6. 进入mysql库之后 用update user set password=password("新密码") where user="root";修改密码
    1. 发现报错ERROR 1054 (42S22): Unknown column 'password' in 'field list'
    2. 可以看出来是因为user表中没有password这个列,网上查了之后发现mysql5.7之后password这个列变成了authentication_string
  7. 直接执行命令,更改密码               命令    update user set authentication_string=password("Hqp_bigdata1") where user="root";
    1. 密码修改成功
  8. 然后执行flush privileges
  9. 推出mysql之后,修改/etc/my.cnf 把skip-grant-tables注释了
    1.  
  10. 然后重启mysql 用刚才设置的密码登陆

 

至此密码修改成功

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值