Linux中登录MySQLAccess denied for user ‘root‘@‘localhost‘ (using password: NO/YES)(二)改完密码后新密码也登不进去解决方法

前面这篇文章介绍的是忘记密码时报的Access denied for user ‘root‘@‘localhost‘ (using password: NO)这个错解决办法,Linux中登录MySQLAccess denied for user ‘root‘@‘localhost‘ (using password: NO/YES) (一)修改密码-CSDN博客

也就是直接修改密码。

本篇介绍改完密码以后用新密码登录也登不进去一直报Access denied for user ‘root‘@‘localhost‘ (using password: NO/YES)这个问题的解决办法

主要有以下步骤:

目录

1.修改my.cnf配置文件,跳过密码认证

2.重启MySQL并登进去

3.问题解决过程

4.恢复my.cnf配置文件

5.用新密码登录


1.修改my.cnf配置文件,跳过密码认证

   1.1打开my.cnf文档,一般都在/etc里面

    输入vim /etc/my.cnf 或者vi /etc/my.cnf回车后

   1.2在[mysqld]中添加 skip-grant-tables

拓展:

打开后,摁一下键盘的  i  键,进入编辑输入模式,输入skip-grant-tables之后点击Esc键,退出编辑模式,然后 输入 :wq ,即可保存退出(:wq是保存退出,:q!是不保存强制退出)

2.重启MySQL并登进去

2.1  重启MySQL

输入

service mysqld restart

或者

 systemctl restart mysqld

2.2 登录MySQL,输入mysql -u root -p,并一直回车

3.问题解决过程

 进入数据库以后,创建root用户,密码尽量负责一些,大小写字母,数字,特殊字符同时包含

create user 'root'@'localhost' identified by 'Abcdefg@123';
1.如果报mysql> ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement错
直接删除root

 drop user 'root'@'localhost';

然后创建root
 create user 'root'@'localhost' identified by 'Abcdefg@123'; 

然后进入下一步,如果没有报错直接进入下一步

赋予roott权限

赋予所有库所有表操作权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; 
刷新配置
 flush privileges;

退出数据库
 exit;

4.恢复my.cnf配置文件

输入vim /etc/my.cnf 或者vi /etc/my.cnf回车,

打开后,摁一下键盘的  i  键,进入编辑输入模式,删除skip-grant-tables之后点击Esc键,退出编辑模式,然后 输入 :wq ,即可保存退出(:wq是保存退出,:q!是不保存强制退出)

输入service mysqld restart或者 systemctl restart msqld重启MySQL

登录MySQL,输入mysql -u root -p,并输入前面输入的密码

本盘文章用的密码是Abcdefg@123

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值