我有我的本地networking(本地IP 192.168.0.100)的Apache Web服务器。 有一个使用MySQL数据库的网站。 我添加了一个从服务器(本地IP 192.168.0.101)和configuration的数据库复制。 现在,我想添加一个代理服务器进行负载平衡(至less要testing它是如何工作的)。 所以,我在另一台机器上安装了MySQL Proxy(本地IP 192.168.0.102),我用这种方式创build了一个服务
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"
在configuration文件,这是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
在coomand线我跑了
net start proxy
我明白,它正在运行没有错误。 但现在我卡住了,不知道下一步该怎么做。 在一些指南中,他们build议运行这个查询:
mysql> select * from proxy_connections;
但是在哪里跑,如何跑 – 没有人说。 如果我只是运行在我的主服务器上,我显然会得到一个错误“没有select数据库”。 其他用户指南几乎从一开始就讨论lua脚本。 但至less我现在不需要这个 我想要的只是检查负载平衡。 一个简单的testing用例就是对数据库执行查询,并查看代理是如何工作的。 此外,大家好,我看到,MySQL代理share
文件夹包含了很多lua脚本。 例如,我看到ro-balance
。 Lib
目录还包含balance.lua
。 我想,使用这些脚本,负载均衡会更容易 – 可能我只能指定读取和写入服务器。 所以,如果您已经完成了所有这些步骤 – 只需简单的负载平衡工作,请分享您的经验。
以这种方式启动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