我想知道是否存在我所描述的 MySQL 服务器“反向代理”。它应该能够从后端服务器池连接到特定主机。选择后端主机的关键将从用户名的一部分中获得。
例如,我在一个私有局域网中有 3 个 MySQL 服务器,每个服务器托管不同的数据库和不同的用户:
10.1.1.1
10.1.1.2
10.1.1.3
MySQL 反向代理将在面向公众的机器上运行,并通过另一个接口连接到该 LAN。
eth0 -> Public facing IP (mysql.proxy.tld)
eth1 -> 10.1.1.254
用户想要从远程位置连接到托管在 10.1.1.2 上的数据库。他们将设置 MySQL 客户端连接以使用 MySQL 代理,如下所示:
mysql -u '[email protected]' -h mysql.proxy.tld
MySQL 代理服务器将知道使用后端服务器 10.1.1.2。它将删除最后一个“@”之后的所有内容,并使用剩余内容作为后端服务器的用户名。
因此,用户实际上将以“databaseuser”的身份连接到 10.1.1.2。