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
#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
相关文章推荐
- mysql5.1.52主从脚本(master-myisam,slave-myisam)
- Linux(Ubuntu)环境MYSQL->master/slave主从同步设置以及注意事项
- MySQL主从复制(Master-Slave)实践
- MySQL主从架构之Master-Slave-Slave级联
- mysql 主从复制(master-slave)
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)
- mysql高可用方案之主从架构(master-slave)
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- Mysql 5.5 replication 多数据库主从备份Master-Slave配置总结
- mysql 主从备份监控slave状态nagios脚本
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- 【转载】MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- MySQL主从服务器配置,读写分离【Master-Slave集群】
- mysql(master/slave)主从复制原理及配置图文详解
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
- MySQL5.6 (5.7)数据库主从(Master/Slave)同步安装与配置详解
- 解读mysql主从配置及其原理分析(Master-Slave)
- 【转载】MySQL 5.6主从Slave_IO_Running:Connecting/error connecting to master *- retry
- MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)