ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

mysql数据root密码异常之后,可以通过跳过MySQL的密码认证过程

找到的资料是

1.1、修改  /etc/my.cnf(找到 [mysqld] 内容后添加  "skip-grant-tables" )

就可以跳过密码验证过程了

1.2、重启服务"service mysql restart"   ,之后通过 "mysql"直接进入到数据库中,进行相关的密码重置,之后屏蔽"skip-grant-tables"代码,重启服务就能正常使用了

 

2、还有的是将/usr/share/mysql/my-default.cnf文件拷贝为/etc/my.cnf来使用

重点是我在/etc/目录下并没有找到my.cnf文件,也没找到my-default.cnf文件

后来才知道,从5.7.18开始官方不再二进制包中提供my-default.cnf文件。
具体可参考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

那么需要修改的参数只需要修改/etc/mysql/mysql.conf.d就可以了

cd /etc/mysql/mysql.conf.d
sudo vi mysql.conf.d

 

mysql> update user set password=password("*******") where user="*******";  #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******';  #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐