购买阿里云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; 刷新权限即可登录