pt-online-schema-change在线修改脚本

  pt-online-schema-change在线修改脚本

 

[root@bj-db-manage scripts]# cat dbtest.oneline_ddl_.sh 
#!/bin/bash
source /etc/profile 
Db="dbtest"
Tab="t2"
# pre
Master_Host="10.10.146.28"
Backup_Host="10.10.173.84"

# prod
#Master_Host="10.10.0.100"
#Backup_Host="10.10.0.105"

Dump_Command="/usr/bin/mysqldump"
Sql_Operators="add index idx_sale_uid (sale_uid);"

Charset="utf8mb4"
User="username"
Passwd="xxxxx"
Tool="/usr/bin/pt-online-schema-change"
Base_Dir="/data/backup"
Data_Dir="${Base_Dir}/data/$(date +%F)"
Log_Dir="${Base_Dir}/logs"
Log_File="${Log_Dir}/${Db}.log"
[[ -d "$Data_Dir" ]] || mkdir -p $Data_Dir
File=${Data_Dir}/${Db}-${Tab}_$(date +%F_%H_%M).sql
echo -e "$(date) 开始备份表 $Table"
"${Dump_Command}" -u$User -p$Passwd -h $Backup_Host --default-character-set=$Charset --skip-tz-utc --single-transaction --master-data=2 --set-gtid-purged=OFF $Db $Tab > $File
if [ $? -eq 0 ];then
  ls -lth "${File}"
  $Tool --user=$User --password=$Passwd -h $Master_Host --no-check-replication-filters --no-check-unique-key-change D=$Db,t=$Tab --charset=$Charset --alter="
"${Sql_Operators}"  
" --execute >> $Log_File 2>> $Log_File
else
        echo "备份失败,退出修改程序"
        exit
fi

猜你喜欢

转载自www.cnblogs.com/bjx2020/p/11799898.html