- 论坛徽章:
- 0
|
mysql-proxy版本:
host51# mysql-proxy -V
mysql-proxy 0.8.1
chassis: mysql-proxy 0.8.1
glib2: 2.26.1
libevent: 1.4.14b-stable
LUA: Lua 5.1.4
package.path: /usr/local/lib/mysql-proxy/lua/?.lua;
package.cpath: /usr/local/lib/mysql-proxy/lua/?.so;
-- modules
admin: 0.8.1
proxy: 0.8.1
mysql-proxy配置文件:
[mysql-proxy]
daemon=true
keepalive=true
admin-username=root
admin-password=123
admin-lua-script=/usr/local/share/mysql-proxy/admin.lua
proxy-address=0.0.0.0:4040
proxy-backend-addresses=192.168.1.116:3306
proxy-read-only-backend-addresses=192.168.1.154:3306
proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua
proxy-lua-script=/usr/local/share/mysql-proxy/reporter.lua
log-level=info
proxy-pool-no-change-user=true
log-file=/var/log/mysql-proxy.log
登陆admin管理:mysql -p"123" -uroot -P4041 -h192.168.1.123
mysql> SELECT * FROM backends;
+-------------+--------------------+---------+------+------+-------------------+
| backend_ndx | address | state | type | uuid | connected_clients |
+-------------+--------------------+---------+------+------+-------------------+
| 1 | 192.168.1.116:3306 | up | rw | NULL | 3 |
| 2 | 192.168.1.154:3306 | unknown | ro | NULL | 0 |
+-------------+--------------------+---------+------+------+-------------------+
2 rows in set (0.00 sec)
如上可以查到连接数3,是没错的,但是读写分离失败了,没有使用154作为读(rw-splitting.lua脚本我已经改了min_idle_connections = 1,max_idle_connections = 2,)
然后把reporter.lua和rw-splitting.lua的位置调换之后,再去使用admin管理的时候,结果如下:
mysql> SELECT * FROM backends;
+-------------+--------------------+-------+------+------+-------------------+
| backend_ndx | address | state | type | uuid | connected_clients |
+-------------+--------------------+-------+------+------+-------------------+
| 1 | 192.168.1.116:3306 | up | rw | NULL | 0 |
| 2 | 192.168.1.154:3306 | up | ro | NULL | 0 |
+-------------+--------------------+-------+------+------+-------------------+
2 rows in set (0.00 sec)
去到slave服务器show processlist;的时候,发现读都来到了slave机器上,但是统计不了,即上面connected_clients 没有正常,这个是为什么???
而且这个admin只有SELECT * FROM backends;和SELECT * FROM help;命令能用其他show什么都不行,求助! |
|