可用性、パフォーマンス対策のため自宅サーバにMySQLProxyを導入してみた。
http://dev.mysql.com/downloads/mysql-proxy/
# tar vxzpf mysql-proxy-0.8.2-linux-rhel5-x86-32bit.tar.gz # cd /home # ln -s /home/hpsuser/mysql-proxy-0.8.2-linux-rhel5-x86-32bit mysql-proxy # cd /home/mysql-proxy/ # vi mysql-proxy.cnf ------------------------------------------ [mysql-proxy] daemon = true pid-file = /home/mysql-proxy/mysql-proxy.pid log-file = /home/mysql-proxy/mysql-proxy.log log-level = debug proxy-address = 127.0.0.1:10502 proxy-backend-addresses=hoge proxy-lua-script = /home/mysql-proxy/share/doc/mysql-proxy/histogram.lua ------------------------------------------ # chmod 0660 /home/mysql-proxy/mysql-proxy.cnf # /home/mysql-proxy/bin/mysql-proxy --defaults-file=/home/mysql-proxy/mysql-proxy.cnf
・mysqlクライアントポート変更
# vi /etc/my.cnf ----------------------------- [client] port=10502 ----------------------------
↑ポートを変更
# mysql -u root -pXXXXXX -P 10502
↑接続を確認。
# cd /etc/rc.d/init.d/ # vi mysql-proxy ---------------------------------------------------------------------- #!/bin/sh # chkconfig: 345 99 01 # description: MySQL Proxy Daemon # processname: mysql-proxy progname=mysql-proxy pidfile=/home/mysql-proxy/${progname}.pid lockfile=/var/lock/subsys/${progname} prog=/home/mysql-proxy/bin/mysql-proxy prm='--defaults-file=/home/mysql-proxy/mysql-proxy.cnf' . /etc/init.d/functions RETVAL=0 start() { echo -n $"Starting $progname: " daemon "${prog} ${prm}" RETVAL=$? echo [ $RETVAL = 0 ] && touch $lockfile return $RETVAL } stop() { echo -n $"Stopping $progname: " killproc ${prog} RETVAL=$? echo [ $RETVAL = 0 ] && rm -f $lockfile return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit $RETVAL ---------------------------------------------------------------------- # chkconfig --add mysql-proxy # chkconfig --list | grep mysql-proxy mysql-proxy 0:off 1:off 2:off 3:on 4:on 5:on 6:off
スタンドアロンなマシンなので負荷分散テストなど出来ないから
効果はよくわからない。