zoukankan      html  css  js  c++  java
  • pt-online-schema-change在线修改脚本

      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="172.16.0.100"
    Backup_Host="172.16.0.101"
    
    # 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 --critical-load="Threads_running=200"  --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
  • 相关阅读:
    运算放大器和比较器的区别
    求和电路
    差分放大电路
    含T型网络的反相放大器
    三运放仪用放大器
    cmd window关闭端口程序
    List及其实现类
    docker-compose安装elasticsearch集群+kibana
    sp_spaceused 查询表或者库的大小
    转载:Windows下利用bat批量打开程序
  • 原文地址:https://www.cnblogs.com/bjx2020/p/11799898.html
Copyright © 2011-2022 走看看