本地ubuntu远程连接云服务器的数据库

环境说明:

远程云服务器系统:CentOS7.4

远程云服务器数据库: MySQL 5.7

本机连接远程数据库三个问题:

1、网络是否通畅

2、远程数据库是否给本地IP授权或者拒绝远程用户登录

3、远程服务器是否开放3306端口

4、如果是阿里云服务器,问题可能原因是未在在阿里云控制台配置实例安全组,需自行配置,这里不作说明。

一般这三个问题解决了,那么数据库 的连接应该就没什么问题了

1、首先查看网络是否通畅,本地ubuntu ping 远程云服务器,检查网络通畅

2、给远程用户登录授权

直接授权(推荐)

  从任何主机上使用root用户,密码:youpassword(你的root密码)连接到mysql服务器:

  # mysql -u root -proot 

  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%(授权的IP)' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

  操作完后切记执行以下命令刷新权限 

    FLUSH PRIVILEGES

3、 开放3306端口

这里centos7使用的是firewalld.service  卸载它,安装iptables.service

3.1、关闭firewall:

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service

3.2、安装iptables防火墙
yum -y install iptables-services 

3.3、启动设置防火墙

# systemctl enable iptables
# systemctl start iptables

3.4、查看防火墙状态

systemctl status iptables

3.5、编辑防火墙,增加端口

vim  /etc/sysconfig/iptables

在最后加上一句 如下

-A IN_public_allow -p tcp -m tcp --dport 3306 -m conntrack --ctstate NEW -j ACCEPT

:wq! 保存退出

3.6、重启防火墙使配置生效

systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

最后使用本地navicat或者ubuntu下的python项目连接远程数据库都正常连接。 

猜你喜欢

转载自blog.csdn.net/qq_28519183/article/details/82769039