#!/bin/sh
#multi-instance
#usage sh tl55.sh $1 $2
#取备份
lastip=`echo $1|awk -F '.' '{print $3$4}'`
echo $lastip
mkdir -p /app/dbbackup/${lastip}
#解压取POS值
cd /app/dbbackup/${lastip}
wget ftp://g:13@1.1.3.74/$1.rar
unrar x $1.rar
pos=`head -n 30 dump.sql |grep -i "change"|awk -F'TO' '{print $2}'`
hostip=`/sbin/ifconfig eth0|grep -i "inet addr"|awk '{print $2}'|awk -F"." '{print $3$4}'`
echo $hostip
cnf=/etc/my.cnf
#配置my.cnf
if [ -f "$cnf" -a ! -f "${cnf}.bak" ];then
cp $cnf $cnf.bak
fi
multi=`cat /etc/my.cnf|grep -i -w "mysqld_multi"`
if [ "${multi}" = "" ];then
sed -i '23a\[mysqld_multi]\nmysqld = /usr/local/mysql55/bin/mysqld_safe\n' $cnf
fi
masterip=$1
sed -i '25a\[mysqld'${lastip}']\nsocket = /tmp/mysql55.sock'${lastip}'\nport = '$2'\npid\-file = '${hostip}'.pid'${lastip}'\ndatadir = /usr/local/mysql55/data'${lastip}'\nrelay\-log = '${hostip}'\-relay\-bin\-'${lastip}'\n' $cnf
#生成数据文件
if [ -d /app/mysql55/data ];then
cd /app/mysql55
scripts/mysql_install_db --datadir=/app/mysql55/data${lastip} --user=mysql
cd /app/mysql55/data${lastip}
tar xvf /root/mysql.tar
#/app/mysql/bin/mysql_install_db --datadir=/app/mysql/var${lastip} --user=mysql
chown -R mysql.mysql /app/mysql55/data${lastip}
/app/mysql55/bin/mysqld_multi start ${lastip}
sleep 5
#/app/mysql55/bin/mysql -uroot -S /tmp/mysql55.sock${lastip} -pmysql_f8ks</app/dbbackup/${lastip}/dump.sql
mysql -S /tmp/mysql55.sock${lastip} -pmysql_ro8ks </app/dbbackup/${lastip}/dump.sql
mysql -uroot -S /tmp/mysql55.sock${lastip} -pmysql_roo8ks -e "create database itemlog;use itemlog;CREATE TABLE log20120118 (
idx int(10) unsigned NOT NULL AUTO_INCREMENT,
AreaID int(11) DEFAULT '-1',
GroupID int(11) DEFAULT '-1',
Action char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
Map int(11) DEFAULT '0',
X int(11) DEFAULT '0',
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (idx)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;"
mysql -S /tmp/mysql55.sock${lastip} -pmysql_root_CW4qf8ks -e "create database yblog;use yblog;CREATE TABLE log20120118 (
idx int(10) unsigned NOT NULL AUTO_INCREMENT,
AreaID int(11) DEFAULT '-1',
GroupID int(11) DEFAULT '-1',
Action char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
PTID char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
CharName char(32) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
IP char(15) CHARACTER SET latin1 COLLATE latin1_bin DEFAULT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=latin1;"
mysql -S /tmp/mysql55.sock${lastip} -pmys4ks -e "slave stop;CHANGE MASTER TO MASTER_HOST='$1',MASTER_USER='rpl',MASTER_PASSWORD='repl_dgBB690H1H',${pos} slave start;show slave status\G;"
fi