MMYSQL提示[Warning] Access denied for user ‘root’@’localhost’ (using password: YES)

2019年8月13日05:44:28 发表评论 42 浏览数

[Warning] Access denied for user 'root'@'localhost' (using password: YES/NO)

表面意思是密码错误,但很多情况是因为权限不够引起的

前几天遇到过一次, 我使用的是国内现在最流行的中文宝塔面板

在修改数据库密码的时候提示

MMYSQL提示[Warning] Access denied for user 'root'@'localhost' (using password: YES)

 

看到第二个错误大概意思就是有什么插件引起的不能修改密码

因为不知道是什么插件,马上联系宝塔技术员,给出下条代码

  1. pip uninstall mysql-python
  2. pip uninstall mysqlclient
  3. pip uninstall PyMySQL

执行代码之后

重装mysql

重装之后还有一个错误

[Warning] Access denied for user 'root'@'localhost' (using password: YES)

并且是一直提示,马上百度

找到如下解决方案

登录时出现如下

# mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

我不知道root密码,也不知道输的对不对,我就按忘记密码处理了

参考文章:https://blog.csdn.net/qq_35389417/article/details/78910974

 

在Linux下忘记MySQL密码后我们可以通过一个mysql的参数–skip-grant-tables &轻松解决这个问题
亲测在CentOS有效
其中 --skip-grant-tables 的意思是跳过授权表,通过此参数来跳过输入密码,后面跟得 & 符号是表示设置此进程为后台进程

具体操作过程如下:
1.首先关闭掉MySQL系统服务: service mysqld stop

2.使用命令跳过输入密码过程:mysqld_safe --skip-grant-tables &

然后再输入mysql,进入mysql

3.进入 mysql数据库,然后通过语句修改密码:

use mysql
update user set password=password("root1234") where user='root'; //修改用户:root的密码成为:root1234
flush privileges//刷新MySQL的系统权限相关表,否则会出现拒绝访问 忘记输入的话重启mysql服务也可以

重启mysql系统服务后就可以用新密码进入MySQL了: service mysqld restart

 

 

虽然解决了[Warning] Access denied for user 'root'@'localhost' (using password: YES)

但是重启之后还是会有[Warning] Access denied for user 'root'@'localhost' (using password: NO)的提示

很多人会觉得这是个很小白的问题,不就是密码问题吗?但是每个人的机器不一样,可能会有连带关系,对于我们这种2懂2不懂的来说就很困难了

最后找到了解决办法

进去mysql 执行以下命令

use mysql;
select user,host from user where user='root';

 

zdgcc

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: