【快速设置阿里云ECS的mysql远程连接权限】购买阿里云ecs服务器后,很多人会选择自己搭建系统,有的人会选择云数据库,有的人会用自己搭建的数据库,但是自己搭建完成后,用navicat想要连接的自己的数据库时,在远程服务器安装好了mysql服务器之后,我们在本地使用命令行进行连接时发现连接不上,这时要考虑该远程服务器上的mysql服务是否开启了可被远程访问的权限。
发生了mysql远程连接权限错误,这是由于远程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; 刷新权限即可登录
若发现cmd输入数据库相关命令报错,可能是由于没有配置mysql的环境变量所导致。配置一下即可。
在系统环境变量的path中添加:
C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin;
注意:数据库的连接资源使用后要及时的关闭它,如果不及时关闭,数据库的连接资源就会很快被消耗光,整个系统将陷入瘫痪状态,所以这里使用finally语句使其顺利关闭。