2

我的本地网络中有一个 apache Web 服务器(本地 ip 192.168.0.100)。有一个使用 MySQL 数据库的网站。我又添加了一台从属服务器(本地 ip 192.168.0.101)并配置了数据库复制。现在,我想添加一个代理服务器来进行负载平衡(至少测试它是如何工作的)。所以,我在另一台机器上安装了 MySQL Proxy(本地 ip 192.168.0.102),我用这种方式创建了一个服务

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 代理share文件夹包含很多 lua 脚本。例如,我看到ro-balance了。Lib目录还包含balance.lua. 我想,使用这些脚本进行负载平衡会更容易——可能我只需要指定读写服务器。因此,如果您已经完成了所有这些步骤 - 只是为了获得最简单的负载平衡工作,请分享您的经验。

4

1 回答 1

3

以这种方式启动 MySQL 代理:

C:\MySQL_proxy\> mysql-proxy.exe --proxy-backend-addresses=<MySQLserver host/IP>:mysql server port --proxy-address=<proxy host>:<proxy port>

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

mysql -uroot -p -hmysql_proxy-host-name -Pmysql-proxy-port 
于 2013-11-11T10:44:04.763 回答