mysql怎么自动增加分区
本篇内容介绍了“mysql怎么自动增加分区”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
#!/bin/bashPATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"LANG="en_US.UTF-8"IFS=":"add_partition(){dbserver="$1"dbport="$2"dbuser='root'dbpwd='test@123456'dbname="$3"t_name=$4#分区表的表名称sqlcmd="SELECTREPLACE(partition_name,'p','')FROMINFORMATION_SCHEMA.PARTITIONSWHEREtable_name='$t_name'andTABLE_SCHEMA='$dbname'ORDERBYpartition_ordinal_positionDESCLIMIT1"#获取最大的分区日期max_partition=`mysql-h$dbserver-u$dbuser-p$dbpwd--port=$dbport--database$dbname-e"$sqlcmd"|sed1d`sqlcmd="selectdate_add(date_format('${max_partition}01','%Y-%m-%d'),INTERVAL2month),replace(left(date_add(date_format('${max_partition}01','%Y-%m-%d'),INTERVAL1month),7),'-','')"t_mid=`mysql-h$dbserver-u$dbuser-p$dbpwd--port=$dbport--database$dbname-e"$sqlcmd"|sed1d`p_time=`echo$t_mid|awk'{print$1}'`p_name=`echo$t_mid|awk'{print$2}'`sqlcmd="ALTERTABLE$t_nameADDPARTITION(PARTITIONp${p_name}VALUESLESSTHAN(to_days('${p_time}')));"mysql-h$dbserver-u$dbuser-p$dbpwd--port=$dbport--database$dbname-e"$sqlcmd"if[$?-ne0];thenmess="dbserver:$dbserver;dbport:$dbport;dbname:$dbname;命令:$sqlcmd执行失败"#邮件报警分区增加失败exit0elsemess="dbserver:$dbserver;dbport:$dbport;dbname:$dbname;命令:$sqlcmd执行成功"fi;}serverlist=('192.168.1.11:3306:test:test''192.168.1.11:3307:test:test')i=0letlen_serverlist=${#serverlist[@]}-1while[[$i-le$len_serverlist]];dot_list=(${serverlist[i]})echo${t_list[0]}${t_list[1]}${t_list[2]}${t_list[3]}add_partition${t_list[0]}${t_list[1]}${t_list[2]}${t_list[3]}leti++done#邮件告警分区添加正常
“mysql怎么自动增加分区”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。