一般来说,不管是服务器上的数据库还是本地的数据库,其他IP地址的访问都是没有权限的,需要的本机用户给予权限才能访问到。
没有权限的访问就会报出错误: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表添加用户权限即可:
总结:
报这个错主要还是访问数据库没有权限,或者权限不足,找到相应的手段并且对user表进行操作即可。