解决远程连接服务器mysql数据库3306端口(其他端口类似)无法访问的问题

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端口)。

**如果上诉总结能够帮助到你,希望能给一点些许赞赏,鼓励一下博主**
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值