您的位置:首页 > 数据库 > MySQL

mysql5.5.19主从脚本(master-innodb,slave-myisam)

2013-06-21 13:57 387 查看
#!/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: