全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 924|回复: 0

[疑问] 解决远程连接服务器mysql数据库3306端口无法访问的问题

[复制链接]
发表于 2019-4-26 10:49:45 | 显示全部楼层 |阅读模式
3306端口一般是指mysql数据的默认端口。郁闷了几天的问题,服务器本地连接可以连接;但是远程就无法连接服务器上的mysql服务,总结了下所有问题具体如下几点:

第一步:你要确保在服务器上安装好Mysql,并能本地启动,本地连接数据库是没问题的,通过数据库管理工具诸如Navicat的可视化界面连接数据库,打开mysql这个数据库中的user表,将user是root的这一行数据的host由localhost改为%,表示任何ip都可以通过这个用户连接;  也可以通过命令行实现 代码如下

                    1、登陆自己机器的MySQL数据库:mysql -uroot -p密码
                    设置root用户可以任意IP访问,代码如下(可选,这里%代表任意,也可以指定IP):       
                        MySQL>update user set host = '%' where user = 'root';
                       
                2、MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
                        予任何主机访问数据的权限   这里youpassword  换成你的数据库登录密码
               
                3、MySQL>FLUSH PRIVILEGES;
                        修改生效                
                这样就可以在其它任何的主机上以root身份登录啦!
               
第二步:确定服务器控制台你的服务器实例安全组规则3306端口是开放的----在你的服务器控制台(阿里云或者腾讯云)安全组设置这里检查你的服务器实例所对应的安全组规则是否开启了3306端口
                ----以腾讯云设置为例  教程如下 https://www.tpyyes.com/a/linux/2017/1121/393.html
               
第三步: 如果是window服务器;需要检查window防火墙;着急实现远程连接数据库的可以直接关了它比较方便,也不用配置什么入站规则了,如果有高需求的可以去配置入站规则  
                ---- 百度上有地址  教程很详细        https://jingyan.baidu.com/article/91f5db1b78235b1c7e05e351.html

第四步:到这里,在服务器的mysql服务启动的情况下,尝试远程用navicat去连接一下,基本上到这一步应该都能成功了,像我这种人品差的,就还是死活还是连不上,还是错误代码10038;我也是醉了!为毛别的服务器都ok了  我的不行???
最后的最后遍寻网络并且实际亲身体验后找到问题  ---  **服务器安装了安全狗等安全防御软件,检查防御软件是否屏蔽了3306端口,关闭安全狗的安全防护即可**。 (坑:我就是因为这个,安装这些软件的时候,又不提醒我屏蔽了3306端口)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-3 18:29 , Processed in 0.083541 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表