Mysql/Mariadb本地不可以登录,远程可以登录问题的解决

引言

今天碰到了一个奇怪的问题,前几天设置了MariaDB root用户远程访问权限并修改了密码。今天服务器报Access denied for user 'root'@'localhost' (using password: YES)

解决方法

MariaDB版本为: mysql Ver 15.1 Distrib 10.1.37-MariaDB

在确定密码没问题(通过远程可以成功登录,本地服务器通过mysql -u root -p也可以登录)后,还是报这个问题:

首先执行下查询:

SELECT plugin from user where User = 'root';

如果看到结果不空,为mysql_native_password,那么就执行:

update user set plugin='' where User='root';
flush privileges;

刷新页面,数据成功出来了!

MySQL修改密码

附上忘记密码后修改密码步骤:

$ mysqld --skip-grant-tables
$ mysql -u root mysql
$mysql> UPDATE user SET Password=PASSWORD('my_password') where USER='root';
$mysql> FLUSH PRIVILEGES;

如果碰到unknown field Password error则执行:
update user set authentication_string=password('my_password') where user='root';

最后重启mysql服务

$ /etc/init.d/mysql restart
发布了131 篇原创文章 · 获赞 38 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/yjw123456/article/details/94330300