安装mysql-proxy
所配置都可以配置在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(可以指定配置文件)
# 以下才是实现读写分离的配置 #
使用通用二进制格式
# 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的服务启动脚本