[DEBUG] ubuntu mysql root@localhost改了密码还是进不去ERROR 1698 (28000)

之前用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

======================================================================================

我是Ruriko,我爱这个世界:)

原文地址:https://www.cnblogs.com/pxy7896/p/11547130.html