连接数据库报错:Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)

一般来说,不管是服务器上的数据库还是本地的数据库,其他IP地址的访问都是没有权限的,需要的本机用户给予权限才能访问到。

没有权限的访问就会报出错误:Access denied for user 'root'@ '...' (using password: YES)

对于这类问题,我总结了以下两点解决方法:

1.

本机用户通过命令行修改数据库访问权限:

首先登录进去自己的数据库

连接数据库报错:Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)_第1张图片

然后在通过命令 grant all privileges on . to 'root'@'%' identified by '数据库密码' with grant option; 放开权限,当然也可以对指定IP放开权限,就是将命令中的%修改成指定IP。

grant all privileges on . to 'root'@'%' identified by '数据库密码' with grant option;

最后通过命令:service mysql restart 重启以下MySQL服务就生效了;

 

2.

通过可视化面板(例如navicat)修改数据库使用权限:

点开一个服务器的数据库连接,在mysql数据库中的user表就是用户访问的权限表,通过给user表添加用户权限即可:

连接数据库报错:Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)_第2张图片

 连接数据库报错:Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)_第3张图片

 

 

总结:

报这个错主要还是访问数据库没有权限,或者权限不足,找到相应的手段并且对user表进行操作即可。

你可能感兴趣的:(数据库,mysql,sql)