MySQL代理逐步配置

我在本地网络中有一个 Apache Web 服务器(本地 IP 192.168.0.100)。有一个使用 MySQL 数据库的网站。我添加了一个更多的从服务器(本地 IP 192.168.0.101)并配置了数据库复制。现在,我想添加一个代理服务器来进行负载均衡(至少测试一下它的工作原理)。因此,我在另一台机器上(本地 IP 192.168.0.102)安装了 MySQL Proxy,我以这种方式创建了一个服务

C:\> sc create "Proxy" DisplayName= "MySQL Proxy" start= "auto" binPath="C:\mysql-proxy\bin\mysql-proxy-svc.exe --defaults-file= C:mysql-proxy\mysql-proxy.cnf"

在配置文件中,即 mysql-proxy.cnf,我放置了这些行:

[mysql-proxy]
daemon = true
log-file = "C:\mysql-proxy\mysql-proxy.log"
log-level = debug
proxy-address = 192.168.0.102:4040
proxy-backend-addresses = 192.168.0.100:3306,192.168.0.101:3306

在命令行中,我运行了

net start proxy

而且我看到它在没有错误的情况下运行。但是现在我被卡住了,不知道接下来该怎么做。在一些指南中,他们建议运行此查询:

mysql> select * from proxy_connections;

但在哪里运行,如何运行-没有人说过。如果我只是在我的主服务器上运行它,我显然会得到“未选择数据库”的错误。其他用户指南几乎从一开始就涉及到 Lua 脚本。但是我现在不需要那个。我想要的是简单地检查负载平衡。一个简单的测试用例将执行查询到数据库,并查看代理如何工作。另外,伙计们,我看到 mysql proxy share 文件夹包含许多 Lua 脚本。例如,我看到 ro-balanceLib 目录还包含 balance.lua。我想,使用这些脚本将更容易进行负载平衡-可能我只需要指定读写服务器。因此,如果您已经完成了所有这些步骤-以使最简单的负载平衡工作,请分享您的经验。

点赞
用户787503
用户787503

以以下方式启动MySQL代理:

C:\MySQL_proxy\> mysql-proxy.exe --proxy-backend-addresses=<MySQL服务器主机/IP>:mysql服务器端口 --proxy-address=<代理主机>:<代理端口>

您可以使用MySQL命令行工具或任何其他MySQL客户端进行测试,查看它是否连接到MySQL代理。

mysql -uroot -p -hmysql_proxy-host-name -Pmysql-proxy-port
2013-11-11 10:44:04