|
MySQL主从复制与读写分离(三)
|
xy-lua-script=/opt/mysql-proxy/scripts/rw-splitting.lua" |
| 26 |
PROXY_PID=/opt/mysql-proxy/run/mysql-proxy.pid |
| 28 |
# Source mysql-proxy configuration. |
| 29 |
if [ -f /etc/sysconfig/mysql-proxy ]; then |
| 30 |
. /etc/sysconfig/mysql-proxy |
| 33 |
PATH=$PATH:/usr/bin:/usr/local/bin:$PROXY_PATH |
| 35 |
# By default it's all good |
| 38 |
# See how we were called. |
| 42 |
echo -n $"Starting $prog: " |
| 43 |
$NICELEVEL $PROXY_PATH/mysql-proxy $PROXY_OPTIONS --daemon --pid-file=$PROXY_PID --user=mysql --log-level=warning --log-file=/opt/mysql-proxy/log/mysql-proxy.log |
| 46 |
if [ $RETVAL = 0 ]; then |
| 47 |
touch /var/lock/subsys/mysql-proxy |
| 52 |
echo -n $"Stopping $prog: " |
| 56 |
if [ $RETVAL = 0 ]; then |
| 57 |
rm -f /var/lock/subsys/mysql-proxy |
| 67 |
[ -e /var/lock/subsys/mysql-proxy ] && $0 restart |
| 74 |
echo "Usage: $0 {start|stop|restart|status|condrestart}" |
脚本参数详解: ============================================== PROXY_PATH=/opt/mysql-proxy/bin //定义mysql-proxy服务二进制文件路径
PROXY_OPTIONS="--admin-username=root \ //定义内部管理服务器账号 --admin-password=password \ //定义内部管理服务器密码 --proxy-read-only-backend-addresses=192.168.10.131:3306 \ //定义后端只读从服务器地址 --proxy-backend-addresses=192.168.10.130:3306 \ //定义后端主服务器地址 --admin-lua-script=/opt/mysql-proxy/lib/mysql-proxy/lua/admin.lua \ //定义lua管理脚本路径 --proxy-lua-script=/opt/mysql-proxy/scripts/rw-splitting.lua" \ //定义lua读写分离脚本路径
PROXY_PID=/opt/mysql-proxy/run/mysql-proxy.pid //定义mysql-proxy PID文件路径
$NICELEVEL $PROXY_PATH/mysql-proxy $PROXY_OPTIONS \ --daemon \ //定义以守护进程模式启动 --keepalive \ //使进程在异常关闭后能够自动恢复 --pid-file=$PROXY_PID \ //定义mysql-proxy PID文件路径 --user=mysql \ //以mysql用户身份启动服务 --log-level=warning \ //定义log日志级别,由高到低分别有(error|warning|info|message|debug) --log-file=/opt/mysql-proxy/log/mysql-proxy.log //定义log日志文件路径 ==============================================
cp mysql-proxy /opt/mysql-proxy/init.d/ chmod +x /opt/mysql-proxy/init.d/mysql-proxy
mkdir /opt/mysql-proxy/run mkdir /opt/mysql-proxy/log
mkdir /opt/mysql-proxy/scripts
配置并使用rw-splitting.lua读写分离脚本 最新的脚本我们可以从最新的mysql-proxy源码包中获取 cd /opt/install
wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.8.1.tar.gz
tar xzvf mysql-proxy-0.8.1.tar.gz cd mysql-proxy-0.8.1 cp lib/rw-splitting.lua /opt/mysql-proxy/scripts
修改读写分离脚本rw-splitting.lua 修改默认连接,进行快速测试,不修改的话要达到连接数为4时才启用读写分离 vim /opt/mysql-proxy/scripts/rw-splitting.lua ============================= -- connection pool if not proxy.global.config.rwsplit then proxy.global.config.rwsplit = { min_idle_connecti |