mysql 端口映射外网访问查询慢的问题

本文介绍了一种解决MySQL在外网环境下查询速度慢的问题的方法。通过启用连接压缩配置,显著提升了查询性能,接近内网访问速度。

mysql之前一直都是在内网访问,前阵子为了方便在外网开发,将端口映射到了外网,但是同事在查询时发现,连接的速度很快,但是在select的时候,非常的慢,本来几毫秒可以查询出来的语句,现在需要1百多秒,实在无法忍受。

起初我以为是映射关系的问题,在网络侧一直排查,因为使用的是mariadb,也怀疑是mariadb的问题,还装了mysql5.7来验证,结果还是非常慢。

后面在navicat客户端高级选项看到有个使用压缩的选项,就蛮启用看看,勾选完再去查询,发现速度非常的快,接近内网的查询速度。好吧,在navicat客户端解决了,但是程序侧还是慢,于是查询了mysql连接池的相关压缩资料,果然,确实有个压缩的配置。

在jdbc的配置连接池的末尾加入:jdbc.url=jdbc:mysql://localhost:3306/bbd?useUnicode=true&characterEncoding=utf8&useCompression=true 

useCompression默认是false,开启后问题解决。

### 如何配置Linux系统进行端口转发以暴露内网服务至公网 #### 使用CPOLAR实现快速简便的端口映射 对于希望迅速建立连接而不涉及复杂设置的情况,可以考虑使用像cpolar这样的工具来完成端口映射的任务。一旦安装完毕,在外部设备上的浏览器输入`http://局域网ip:9200`就能访问到位于Linux主机的服务,并可通过该Web界面进一步调整配置参数[^1]。 #### 利用SSH隧道与跳板机方案 当面对的是没有分配公网地址的内部服务器时,则可以通过具备公共互联网接口的一台中间服务器作为桥梁来进行流量传递。具体来说就是把目标应用监听于特定编号(比如MySQL默认使用的3306号)的数据包重定向给远端客户请求处理[^2]。 #### 应用IPTABLES规则实施静态NAT转换 如果拥有固定的广域网出口并且想要长期稳定地对外开放某些资源的话,那么编辑防火墙策略不失为一种有效的方法之一。这里给出了一条命令实例用于说明怎样把来自指定子网范围内的通信都伪装成另一组IP发出的样子:`iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to 23.234.22.11`[^3]。 #### 借助FRP构建双向代理通道 最后介绍一款开源软件——Frp,它允许用户轻松搭建从私有网络到公开可到达位置之间的安全链接。按照官方文档指示准备好相应文件之后执行如下指令即可让程序持续运行并自动加载所需设定:`pkill -f frpc;nohup /root/frp/frpc -c /root/frp/frpc.ini &`[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hu_wenjie

您的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值