mysql-proxy读写分离

安装mysql-proxy

使用通用二进制格式

# tar -xvf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz
# cp mysql-proxy-0.8.5-linux-el6-x86-64bit /usr/local/ -r
# cd /usr/local/mysql-proxy-0.8.5-linux-el6-x86-64bit/bin/

所配置都可以配置在mysql服务器文件中
使用[msyql-proxy]

-r, --proxy-read-only-backend-addresses=<host:port>     address:port of the remote slave-server 
-b, --proxy-backend-addresses=<host:port>               address:port of the remote backend-servers (default: 127.0.0.1:3306)
--daemon                                                Start in daemon-mode
--log-file=<file>                                       log all messages in a file
--log-level=(error|warning|info|message|debug)          log all messages of level ... or higher
--proxy-read-timeout                                    read timeout in seconds (default: 8 hours)
--proxy-write-timeout                                   write timeout in seconds (default: 8 hours)
--defaults-file=<file>                                  configuration file(可以指定配置文件)

启动

# mysql-proxy --plugins=proxy --proxy-read-only-backend-addresses='192.168.0.223:3306'\
--proxy-backend-addresses='192.168.0.222:3306' --daemon --proxy-read-timeout=5 \
--proxy-write-timeout=10 --log-file=/var/log/mysql-proxy.log --log-level=debug \
-s /usr/local/mysql-proxy-0.8.5-linux-el6-x86-64bit/share/doc/mysql-proxy/rw-splitting.lua

# 以下才是实现读写分离的配置 #

-s, --proxy-lua-script=<file>                           filename of the lua script (default: not set)

192.168.0.222为读写,192.168.0.223为从服务器,只读

192.168.0.223上STOP SLAVE

连接192.168.0.221 -P4040 新建立表和插入数据,在192.168.0.222可以查到,192.168.0.223查询不到,说明读写分离了。

简单实现,没有写mysql-proxy的服务启动脚本

相关文章
相关标签/搜索