关于ubantu18.04下workbench数据库连接失败(Access denied for user 'root'@'localhost')的解决方法

因为最终成功连接了,所以这里我就只把成功后的截图以及命令分享给大家,如果叙述的不够正确,还希望大家多多指点。

终端命令下:mysql -u root -p 输入密码,进入数据库

输入命令:select user,host,plugin from mysql.user;   可以看到一张表,里面包含user、host、plugin

有些朋友只需要修改plugin这一项为mysql_native_password,但是我修改了后还是出现上面的问题。后来查询资料,发现还要修改host一项为%,才可以真正连接好数据库

其实修改%的目的,也是修改用户的登陆权限

%  :任意主机可以的登陆

localhost :仅本机可以登陆

IP地址:指定的IP地址可以登陆

首先修改plugin,上命令:use mysql;   update user set plugin='mysql_native_password';

可以再次输入上面查看表的命令,如果成功,root的plugin就会变成mysql_native_password

然后exit     退出mysql

重启数据库服务:./etc/init.d/mysql restart

这个时候你打开workbench,看看是否能够连接上,如果不能,那说明和我的问题一样,那么接下来就修改登陆权限

同样mysql -u root -p 进入数据库

use mysql;

update db set host = '%' where user = 'root';

flush privileges;  刷新权限列表

exit

重启数据库服务:./etc/init.d/mysql restart

此时再次打开workbench,输入密码,就可以连接了

可能有些地方说的不够清楚,望大家见谅。博主也是新手上路,希望以后可以学习到更多的知识,分享给大家,谢谢!

猜你喜欢

转载自www.cnblogs.com/JJ-huang/p/11436737.html
今日推荐