假设我买了个第三方的软件,这个软件需要配合数据库使用,比如 mysql 或者 sqlserver ,但是厂家没有提供数据库连接参数修改的路径,直接在代码里写死了,比如 localhost:3306 ,我现在需要将数据库迁移到其他机器,本地布置一个工具,监听 3306 端口的请求,转发给远端数据库,然后返回正常的操作结果。 有没有这样的工具,或者说一般的 proxy 软件能不能实现?

假设我买了个第三方的软件,这个软件需要配合数据库使用,比如 mysql 或者 sqlserver ,但是厂家没有提供数据库连接参数修改的路径,直接在代码里写死了,比如 localhost:3306 ,我现在需要将数据库迁移到其他机器,本地布置一个工具,监听 3306 端口的请求,转发给远端数据库,然后返回正常的操作结果。 有没有这样的工具,或者说一般的 proxy 软件能不能实现?
1 GM Dec 15, 2021 sidecar 模式 |
2 F281M6Dh8DXpD1g2 Dec 15, 2021 端口转发呗 |
3 xiaosheng Dec 15, 2021 Rnetd 做端口转发,一台机器已稳定 3 年了 |
4 monkeyWie Dec 15, 2021 nginx 四层负载就可以了吧 |
5 minibear2021 OP @xiaosheng 感谢你的经验,刚看了一下 nginx 配置也可以,回头把你这个也研究一下。 |
6 minibear2021 OP @monkeyWie 是的,准备研究一下。 |
7 defunct9 Dec 15, 2021 haproxy |
8 Buges Dec 15, 2021 via Android 最基本的端口转发,这都不用什么工具,直接 iptables/nftables dnat 就完事。 如果非要用第三方工具可以试试 gost ,配置最简单。 gost -L=tcp://:3306/1.2.3.4:3306 |
9 muzuiget Dec 15, 2021 就是端口映射,可以用 socat 。 |
10 opengps Dec 16, 2021 frp 也能转发 |
11 9dP06m83vIV00l72 Dec 17, 2021 SSH 的端口转发功能是你的菜。 |