首页 > 其他 > 详细

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

时间:2019-11-05 19:35:28      阅读:106      评论:0      收藏:0      [点我收藏+]

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

  经过几次在测试环境中使用,发现5.6和5.7可以正常使用。mysql8.0.18版本中,竟然无法使用,感到惊讶。难道mysql8.0.18强大到无需再用这个外围工具了吗?反过来说过,mysql8.0.18确实在很多ddl中可以在线操作了。

 

[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

 

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

原文:https://www.cnblogs.com/bjx2020/p/11799898.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!