复制代码 代码如下:
# cat doallslave.sh
#!/bin/sh
#code by scpman
#mail:scpman@live.com
#blog:http://www.scpman.com
#name:"doallslave.sh"
helpinfo()
{
echo -e '\t\thelp 查看帮助信息'
echo -e '\t\t自动做allslave从库脚本使用帮助'
echo -e '\t\tslavename 只能是xxx_xxx这种命令例如:zq2013_test1'
echo -e '\t\t添加一个新从库 三个参数addslave slavename ip mysql.tar-name rootpasswd'
echo -e '\t\t例子: addslave slavename 10.0.88.88 mysql.xxx.tar passwd '
echo -e '\t\t删除一个从库 三个参数 delslave slavename '
echo -e '\t\t例子: delslave slavename'
}
#如果用户没有输入参数(或者输入错误的参数),或者输入的参数为help,则显示帮助信息,并退出。
if [ -z "$1" -o "$1" = "help" ]
then
helpinfo
exit
fi
mulu_create()
{
if [ -d $1 ]
then
echo "$1 is have";
else
mkdir -p $1;
echo "create $1 ok!"
fi
}
check_mycnf()
{
temp1=`tail -n 1 /etc/my.cnf |grep "server_id"`;
if [ -z "$temp1" ]
then
sed -i "" '$d' /etc/my.cnf
check_mycnf
else
echo "/etc/my.cnf符合规范";
fi
}
fuc_addslave()
{
if [ -n "$1" -a -n "$2" -a -n "$3" -a -n "$4" ]
then
slavename=$1
masterip=$2
bao_path=$3
passwd=$4
else
echo "1 2 3 4 is null!shell exit now"
helpinfo
exit
fi
#检查my.cnf是否正确
check_mycnf
echo "开始创建数据包存放目录!"
sleep 1
mulu_create "/usr/doslave/${slavename}/"
mulu_create "/usr/db_backups/${slavename}_mysql_backup/"
mulu_create "/usr/mysql_backup/${slavename}_mysql_backup/"
mulu_create "/usr/mysql_backup_temp/${slavename}_mysql_backup/"
tar -zxvf $bao_path -C /usr/doslave/${slavename}/;
rm -rf /usr/db_backups/${slavename}_mysql_backup/*;
mv /usr/doslave/${slavename}/usr/dlm_db/mysql/* /usr/db_backups/${slavename}_mysql_backup/;
chown -R mysql:mysql /usr/db_backups/${slavename}_mysql_backup/;
echo "数据放置完成!开始生成配置文件"
mulu_create "/usr/doslave/confbak"
cp /etc/my.cnf /usr/doslave/confbak/my.cnf_`date +%Y%m%d%H%M%S`;
cp /usr/mysql_backup/dblist /usr/doslave/confbak/dblist_`date +%Y%m%d%H%M%S`;
#######################my.cnf#############
tempconf="/usr/doslave/${slavename}/mycnf.temp"
tail -n 6 /etc/my.cnf > $tempconf;
sleep 2
old_mysqld="`cat $tempconf |grep "mysqld" | sed -e "s/\[mysqld//;s/\]//;"`"
old_port="`cat $tempconf | grep 'port'|awk '{print $3}'`"
old_db_name="`cat $tempconf | grep "pid-file" | awk -F'/' '{print $4 }'|awk -F'_' '{print $1 "_" $2}'`"
old_server_id="`cat $tempconf | grep "server_id"|awk '{print $3}'`"
new_mysqld="`expr ${old_mysqld} + 1`"
new_port="`expr ${old_port} + 1`"
new_db_name="$slavename"
new_server_id=`echo $masterip |awk -F. '{print $3$4"9"}'`
old_mysqld="`echo $old_mysqld`"
old_port="`echo $old_port`"
old_db_name="`echo $old_db_name`"
old_server_id="`echo $old_server_id`"
sed -i "" "s/$old_mysqld/$new_mysqld/g;s/$old_port/$new_port/g;s/$old_db_name/$new_db_name/g;s/$old_server_id/$new_server_id/g;"$tempconf;
#cat $tempconf
#echo '--->'
sleep 2
echo "" /etc/my.cnf;
cat $tempconf /etc/my.cnf
echo "mysqld${new_mysqld}" /usr/mysql_backup/dblist;
###############################################
echo "my.cnf 和dblist已经修改完成!"
/usr/local/bin/mysqld_multi start $new_mysqld
sleep 1
BIN=`cat /usr/db_backups/${slavename}_mysql_backup/pos_mysql|awk '{print $1}'`;
POS=`cat /usr/db_backups/${slavename}_mysql_backup/pos_mysql|awk '{print $2}'`;
#echo $passwd
echo $BIN
echo $POS
echo /usr/local/bin/mysql -uroot -p$passwd --socket=/tmp/mysql_${new_db_name}.sock
sleep 2
/usr/local/bin/mysql -uroot -p$passwd --socket=/tmp/mysql_${new_db_name}.sock <<FFF
stop slave;
reset slave;
CHANGE MASTER TO MASTER_HOST="$masterip", MASTER_USER='slaveuser',MASTER_PASSWORD='slave123213', MASTER_LOG_FILE="$BIN",MASTER_LOG_POS=$POS;
start slave;
FFF
rm -rf /usr/doslave/${slavename}/;
clear
/usr/local/bin/mysql -uroot -p$passwd --socket=/tmp/mysql_${new_db_name}.sock -e "show slave status\G"
echo "服务器: ${masterip} 的从库完成!请刷新并查看php从库监控"
}
fuc_delslave()
{
if [ -n "$1" ]
then
nousedbname=$1
else
echo "slavename is null!shell exit now"
helpinfo
exit
fi
if [ -d /usr/db_backups/${nousedbname}_mysql_backup ]
then
echo "/usr/db_backups/${nousedbname}_mysql_backup 存在!"
else
echo "/usr/db_backups/${nousedbname}_mysql_backup这个目录不存在,请确认您的输入是否正确,脚本退出!"
exit;
fi
del_id="`grep -B1 "$nousedbname" /etc/my.cnf|grep mysqld|sed -e "s/\[//;s/\]//";`"
stop_id="`echo $del_id|sed -e "s/mysqld//;"`"
echo $del_id
echo $stop_id
/usr/local/bin/mysqld_multi stop $stop_id
rm -rf /usr/db_backups/${nousedbname}_mysql_backup;
sed -i '' "/$del_id/d" /usr/mysql_backup/dblist
sed -i '' "/$del_id/d" /etc/my.cnf
sed -i '' "/$nousedbname/d" /etc/my.cnf
echo "已经删除,请刷新从库监控"
}
if [ "$1" = "addslave" ]
then
echo '添加新从库'
sleep 3
fuc_addslave $2 $3 $4 $5
elif [ "$1" = "delslave" ]
then
echo '删除'
fuc_delslave $2
else
echo $1 此参数是非法的
helpinfo
exit
fi
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]