我想知道是否存在这样的事情,我形容为MySQL服务器的“反向代理”。 它应该能够连接到后端服务器池中的特定主机。 select后端主机的关键是从部分用户名获得。
例如,我有一个专用局域网中的3个MySQL服务器,每台服务器托pipe不同用户的不同数据库:
10.1.1.1 10.1.1.2 10.1.1.3
MySQL反向代理将运行在一个面向公众的机器上,另一个接口连接到这个局域网。
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。