远程连接阿里云mysql数据,需要设置三点

1、阿里云,云服务器 ECS后台,安全组规则放开3306端口

云服务器-ECS安全组-实例-安全组规则

远程连接阿里云mysql数据库及报错处理_压力测试

2、在服务器里,关闭防火墙。centos7默认是firewall作为防火墙

关闭firewall

systemctl stop firewalld.service //停止firewall
systemctl disable firewalld.service //禁止firewall开机启动

firewall-cmd --state    //查看默认防火墙状态(关闭后显示not running,开启后显示running)
 

3、在mysql里,设置远程访问权限

3、1 登陆数据库mysql

mysql -uroot -p

3、2 登陆mysql后,进入名为mysql的库。

use mysql;

3、3 执行以下命令,开启远程访问权限(在mysql语句中执行语句)

grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option;

千万要注意:

// % 允许访问的IP地址,表示所有的IP都可以根据root用户进行访问

// “你的密码”这边填写远程连接数据库的密码,比如我root的密码是12345678,那么我这里可以填写 12345678,也可以凭空捏造一个,如 abc123456789。 远程连接时,只能使用这里设置的密码。

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

修改完成后,查看一下修改后的数据。

mysql> select host,user from user;

3、4

flush privileges; 

//刷新MySQL的系统权限相关表

3、5 重启MySQL(这个好像不是必须的)

service mysql restart

//重启MySQL命令

然后就可以去远程连接了。

我当时修改完了这三点,依然连接失败。后来找到原因了。

我用的公司内网,连接的阿里云数据库。公司内网有设置,把我的拦截了,我用外网就能正常远程连接我的这个数据库了。