allows delayed replication for MySQL databases.
The
dlslavedsyntax is really simple :
-> dlslaved -h ipAddress -u username -p password -P portNumber
/usr/local/mysql directory.
Contact me at rodolphe.jouannet(at)free.fr for support or questions.
根据上述思路,写一shell来实现相同的操作:
- #!/bin/bash
- #
- # 监控mysql slave状态,实现slave延时
- #
- INTERVAL="1800"
- #CURPATH=$(pwd)
- CURPATH=/home/adminshell
- AUTH='-uroot -ppassword'
- SLAVE_IO="Slave_IO_Running:"
- SLAVE_SQL="Slave_SQL_Running:"
- SHOW_SLAVE_STATUS="show slave status\G"
- START_SLAVE="start slave"
- STOP_SLAVE="stop slave"
- MYSQL="$(which mysql)"
- if [ $? -ge 1 ]
- then
- MYSQL="/usr/local/mysql/bin/mysql"
- fi
- PIDOF="$(which pidof)"
- if [ $? -ge 1 ]
- then
- PIDOF="/sbin/pidof"
- fi
- while :
- do
- TIMESTAMP_TODAY="$(date +%Y%m%d)"
- LOGFILE="${CURPATH}/mysql_slave_delay_${TIMESTAMP_TODAY}.log"
- echo "[`date +%c`] mysqld process check" >> $LOGFILE
- MYSQLDPID=$($PIDOF mysqld)
- if [ -z $MYSQLDPID ];then
- echo "mysqld is not started!" >> $LOGFILE
- else
- echo "[`date +%c`] mysqld is running" >> $LOGFILE
- echo "[`date +%c`] mysql slave status check" >> $LOGFILE
- SLAVE_IO_STATUS=$($MYSQL $AUTH -Bse "$SHOW_SLAVE_STATUS" | grep $SLAVE_IO | awk '{ print $2 }')
- SLAVE_SQL_STATUS=$($MYSQL $AUTH -Bse "$SHOW_SLAVE_STATUS" | grep $SLAVE_SQL | awk '{ print $2 }')
- if [ "$SLAVE_IO_STATUS" = "Yes" -a "$SLAVE_SQL_STATUS" = "Yes" ];then
- echo "[`date +%c`] mysql slave is running,stop it" >> $LOGFILE
- $MYSQL $AUTH -Bse "$STOP_SLAVE"
- else
- echo "[`date +%c`] mysql slave is not running,start it" >> $LOGFILE
- $MYSQL $AUTH -Bse "$START_SLAVE"
- fi
- echo "[`date +%c`] ****************************************************" >> $LOGFILE
- sleep ${INTERVAL}
- fi
- done
本日志由 flyinweb 于 2010-01-28 15:28:33 发表,目前已经被浏览 116 次,评论 0 次;
作者添加了以下标签: mysql slave;
引用通告:http://www.517sou.net/Article/407/Trackback.ashx
vllddaee: vllddaee...
根据inotify + rsync的思路,现在有了个c++版本的同步程序,只需指
真是有耐心呀。我做了个pdf 文件 在上面的网站可以下载