#!/bin/bash PID=/var/run/mysql-proxy.pid start(){ echo "Starting mysql-proxy..." line="mysql-proxy --daemon --proxy-address=:3306 --pid-file=$PID" for master in `ls /etc/aws/hosts/mysql-master/`; do line="$line --proxy-backend-addresses=$master:3306 " done; for slave in `ls /etc/aws/hosts/mysql-slave/`; do line="$line --proxy-read-only-backend-addresses=$slave:3306 " done; echo $line mkdir -p /var/run/mysqld if [ ! -e /var/run/mysqld/mysqld.sock ]; then socat UNIX-LISTEN:/var/run/mysqld/mysqld.sock,fork,reuseaddr,unlink-early,user=root,group=root,mode=777 TCP:localhost:3306 & fi $line } stop(){ echo "Stopping mysql-proxy..." if [ -e $PID ]; then kill `cat $PID`; rm $PID fi } case "$1" in start) stop sleep 1 start ;; stop) stop ;; restart) stop sleep 1 start ;; *) echo "Usage: mysql-proxy {start|stop|restart}" exit 1 esac