错误代理:MySQL 查询的重定向

Error proxy : Redirection of MySQL queries

我想将 MySQL 发往服务器(例如:192.168.1.1)的查询重定向到另一台服务器(例如:192.168.1.2)

我在第一台服务器 (192.168.1.1) 上使用 MySQL 代理 V0.8.5 并尝试了以下命令

mysql-proxy --proxy-address=192.168.1.1:3306 --proxy-backend-addresses=192.168.1.2:3306

但它给了我那些错误

2015-09-11 14:34:32: (critical) plugin proxy 0.8.5 started
2015-09-11 14:34:32: (critical) ..\..\mysql-proxy-0.8.5\src\network-socket.c:492
: bind(192.168.1.3:3306) failed: No error (0)
2015-09-11 14:34:32: (critical) ..\..\mysql-proxy-0.8.5\src\chassis-mainloop.c:2
70: applying config of plugin proxy failed
2015-09-11 14:34:32: (critical) ..\..\mysql-proxy-0.8.5\src\mysql-proxy-cli.c:59
9: Failure from chassis_mainloop. Shutting down.

但我不明白为什么这不起作用。我愿意接受任何其他方式将查询从一个服务器重定向到另一个服务器。

更多信息

查询是由用户进行的,这些用户在第一台服务器(192.168.1.1)的同一网络中。该服务器不会 运行 MySQL 但会将所有查询重定向到另一台服务器 (192.168.1.2)。这台服务器位于另一个网络中,但可以通过具有 VPN 访问权限的服务器 192.168.1.1 看到。

我不知道这是否有用,但我不敢提它。

我愿意接受将查询从一台服务器重定向到另一台服务器的任何其他方式

mysql 代理似乎对于您描述的需求来说是多余的。 一个简单的端口转发就足够了。我能想到的最简单的方法是 SSH 端口转发:

user@front-server$ ssh -L 3306:private-server:3306 user@private-server

任何可以到达 front-server 的人现在都可以连接到其端口 3306,该端口被无缝转发到 private-server

您可以在 mysql 上使用 HAPROXY 解决方案,它看起来非常适合您的需求。