之前用skip-grant-tables的方法免密进入Mysql,修改了root的密码,
当时重启服务后是可以用密码进入Mysql的。结果昨天突然又进不去了:)
所以更换方法,特此记录。
================ 踏坑记录 ========================================================================
首先是可以用debian-sys-maint的密码进入mysql的。

sudo vi /etc/mysql/debian.cnf

找到里面client下的user和password,用这个进入mysql
或者用sudo mysql -u root -p无密码进入mysql
进入之后:

use mysql;
update user set authentication_string=PASSWORD('***') where user='root';

这里有个坑,这个PASSWORD关键字好像被废除了,有时候能用,有时候不行??
如果不加PASSWORD,那么密码没有加密,之后登录的时候会一直报:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
另外,root的认证方式是auth_socket,有个改成mysql_native_password
在这里插入图片描述
改完之后,正确的情况应该是:(show warnings可以查看warning信息)
在这里插入图片描述

然后
flush privileges;
退出后
sudo service mysql restart
 
Logo

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

更多推荐