一般情况下。user表里就有一个字段叫做localhost
如果这里还有别的字段 并且 user 为 remote 或者 一个用户名为%
就说明还有用户在用 远程连接。。 把这样的用户删掉 只保留LOCALHOST就好了
1、你确定服务其上的配置文件
2、因为你的问题中没有说清楚是几台服务器,如果是一台服务器连不上另一台服务器上的数据库那么你可以看看服务器的访问权限设置,是否有限制IP或者
MAC地址
之类的设置
基本我之前遇到的也就是这两种情况了,希望能帮到你。
购买阿里云ecs服务器后,很多人会选择自己搭建系统,有的人会选择云数据库,有的人会用自己搭建的数据库,但是自己搭建完成后,用navicat想要连接的自己的数据库时,却发生了这样的错误:
这是由于远程IP没有登录权限,root用户默认只能在localhost也就是只能在本机登录,需要设置允许其他IP登录权限。
解决方法:
在服务器内部登录数据库,然后执行:
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option
表示让所有的ip都能访问该数据库,并 *** 作数据库的任何对象。
其中:
*.* 第一个*是指数据库
*代表所有数据库
第二个*指数据库对象
*代表数据库中所有对象
'root'@'%' root是制定要授权的数据库用户
%代表允许登录的IP (如:1.1.1.1)
123456是你的数据库密码
执行完毕后执行 flush privileges刷新权限即可登录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)