MySQL数据库远程连接
3306端口一般是指MySQL数据库的默认端口。
折腾了一晚上,远程无法连接服务器上的MySQL服务。天亮前终于得到彻底解决。
我使用的是阿里云的服务器,系统为CentOS7
首先,你要确保在服务器上安装好Mysql,并能本地启动。修改密码后,通过诸如Navicat的可视化界面管理工具连接数据库,打开mysql这个数据库中的user表,将user是root的这一行数据的host由localhost改为%,表示任何ip都可以通过这个用户连接;
然后,我配置好了防火墙并且开启了80和3306端口,之后使用ping 我的公网IP地址,能接通,说明网络没问题,接下来我使用 “telnet 公网IP 3306”测试3306端口是否能够被访问,结果显示连接超时,接着谷歌后发现需要再阿里云中开启3306端口
第三步,在阿里云的云服务器管理控制台添加安全组规则(端口3306),通常还需要配置80端口,但是一般来说既然都能远程连接服务器了,这个都是配置了;
第四步,在服务器的mysql服务启动的情况下,尝试远程用navicat去连接一下,如能成功就是人品好啊,我就是到这一步连接成功了,
======================================================================================================================
如果就是连不上,错误代码10060;
错误解决:
第一步:下载端口扫描工具,方便一点。这里我用的是这个:链接:http://pan.baidu.com/s/1qYfkIpI 密码:3h0j ;输入IP地址和端口范围,扫描一下服务器上开放的ip有哪些。比如我开始的情况是:服务器上能连接本地mysql3306,然后远程用端口扫描工具只能扫出80,3389(远程连接端口),8080(tomcat默认端口)这几个端口,所以一直远程连接不上,如果你80、3389端口都扫不出来的话,那问题很可能就是开了防火墙,或者云控制台没有加入规则;
第二步:
检查错误:
1、防火墙是否已经关闭,或者3306端口是否加入入站规则(前面说了,后者我这行不通);
2、检查云控制平台是否加入了相应端口规则。
3、服务器安装了安全狗等安全防御软件,检查防御软件是否屏蔽了3306端口。 (坑:我就是因为这个,安装这些软件的时候,又不提醒我屏蔽了3306端口),关闭安全狗的安全防护即可。
这里贴上解决我问题的帖子(阿里云服务器配置的帮助文档):https://help.aliyun.com/knowledge_detail/36129.html