Linux解决mysql登录密码错误(明明是对的)

真是血泪教训啊!!!!!!!!

密码设置过于简单!!!

快放弃的时候,试了一下终于可以了!

先说我的mysql版本是mysql  Ver 14.14 Distrib 5.7.30, for linux-glibc2.12 (x86_64) using  EditLine wrapper。

安装完修改密码后,登录提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES),后面根据网上说的,修改/etc/my.cnf文件,在mysqld后加上skip-grant-tables,跳过验证登录,

之后将密码改为123456、1234567,重新登录都是那个错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

试了很多次,每次都是一样的错误。在网上找了好久的资料,看到有几篇说的是关于8.0版密码的要求的文章,快要放弃的时候心想,最后一次,不成功就算了。密码要求:https://blog.csdn.net/AprilCos/article/details/87990824

密码直接改为复杂的

改为后,将/etc/my.cnf文件skip-grant-tables注释掉,然后重启mysql

最终成功!!!啊啊啊啊啊啊啊啊啊啊啊啊啊!!!!!!!!喜极而泣啊!

最后:

user mysql

desc user--查看表结构,可以看到user表没有password字段,密码保存在authentication_string自段

 update mysql.user set authentication_string=password('1234qwer!A') where user='root';--修改密码

 flush privileges;--重新加载权限表

 /etc/init.d/mysqld restart--重启mysql

 mysql -u root -p--登录

plugin加密方式一定要设置为:plugin=mysql_native_password

 

 

 

2020-08-10记:

今天特意删了重装一遍,按上面的方法修改了密码后,能登录,但是引用数据库的时候提示要修改密码。按上面的操作做了几次,都是一样的提示

无语……………………

后面按这个修改了密码后就可以了:alter user 'root'@'localhost' identified by '123456';

搞不懂什么原因

2020-08-17 再预坑

跳过密码验证登录mysql后,修改密码提示
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

改了还几次都是这样,网上解决办法:先刷新权限,再修改密码

修改密码后,修改配置文件,取消跳过安全验证,重启mysql,成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值