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= --set-gtid-purged=OFF $Db $Tab > $File
if [ $? -eq ];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

pt-online-schema-change在线修改脚本的更多相关文章

  1. 在线修改大表结构pt-online-schema-change

    使用场景 在线数据库的维护中,总会涉及到研发修改表结构的情况,修改一些小表影响很小,而修改大表时,往往影响业务的正常运转,如表数据量超过500W,1000W,甚至过亿时 在线修改大表的可能影响 在线修 ...

  2. (转)pt-online-schema-change在线修改表结构

    原文:http://www.ywnds.com/?p=4442 一.背景 MySQL大字段的DDL操作:加减字段.索引.修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响 ...

  3. 在线修改MySQL大表的表结构

    由于某个临时需求,需要给在线MySQL的某个超过千万的表增加一个字段.此表在设计之时完全按照需求实现,并没有多余的保留字段. 我们知道在MySQL中如果要执行ALTER TABLE操作,MySQL会通 ...

  4. AppBoxFuture(四). 随需而变-Online Schema Change

      需求变更是信息化过程中的家常便饭,而在变更过程中如何尽可能小的影响在线业务是比较头疼的事情.举个车联网监控的例子:原终端设备上传车辆的经纬度数据,新的终端设备支持同时上传速度数据,而旧的车辆状态表 ...

  5. 在线修改GTID模式

    在线修改GTID模式 1. 在每一台机器上执行命令 SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN; 这是很重要的一步,必须确保服务器上没有违反GTID规范的 ...

  6. mysql在线修改表结构大数据表的风险与解决办法归纳

    整理这篇文章的缘由: 互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需 ...

  7. [分享]运维分享一一阿里云linux系统mysql密码修改脚本

    [分享]运维分享一一阿里云linux系统mysql密码修改脚本       大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信   只看楼主 更多操作楼主  发表于: 2014-09-3 ...

  8. 为VisualSVN Server增加在线修改用户密码的功能

    原文:为VisualSVN Server增加在线修改用户密码的功能 附件下载:点击下载 VisualSVN Server是一个非常不错的SVN Server程序,方便,直观,用户管理也异常方便. 不过 ...

  9. schema change + ogg 变更手册

    Check OGG  until no data queuing in replication process:testRO:a)login  test5 –l oggmgrb)oggc)#ggsci ...

随机推荐

  1. dapper 分页根据时间条件查询时中的一个坑

    当数据库中数据很多的时候,这样写,查询速度会很慢. db.Query<AuditLogModel>(queryStr, searchModel);// 应该这样写 var logDatas ...

  2. Golang的面向对象编程【结构体、方法、继承、接口】

    Golang也支持面向对象编程.但与以前学过传统的面向对象编程语言有区别.1)Golang没有类class,Go语言的结构体struct和类class有相似的特性.2)Golang中不存在继承,方法重 ...

  3. JSON中文处理类实例

    $array = array( 'Name'=>'络恩', 'Age'=>24); $post=my_json_encode($array); // 这个函数是判断版本,如果是搞版本的则直 ...

  4. 【Qt开发】qt中涉及到空格包含路径的解决办法

    qt中涉及到空格路径,qmake是无法正确编译的. 需要在空格路径前面加上$$quote INCLUDEPATH += $$quote(C:/Program Files/MySQL/MySQL Ser ...

  5. springboot - 应用实践(2)第一个springboot应用

    1.使用maven创建一个快速启动项目 2.引入相关依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x ...

  6. a++和++a的区别

    a++是先执行表达式后再自增,执行表达式时使用的是a的原值.++a是先自增再执行表达示,执行表达式时使用的是自增后的a.例:int a=0printf("%d",a++); //输 ...

  7. numpy将数组保存为文件

    保存单个数组 np.save和np.load是读写磁盘数组数据的两个主要函数.默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的: 如果文件路径末尾没有扩展名.npy,则该扩展 ...

  8. C++中的new/delete、构造/析构函数、dynamic_cast分析

    1,new 关键字和 malloc 函数区别(自己.功能.应用): 1,new 关键字是 C++ 的一部分: 1,如果是 C++ 编译器,则肯定可以用 new 申请堆空间内存: 2,malloc 是由 ...

  9. CSP-S全国模拟赛第四场 【nan?】

    本来想抢三题的 rk1 ?[无耻 最后发现 T2 好像还是慢了些,只搞了个 rk2 子段与子段 第一题随便分析一下,发现一段区间中某个元素的贡献次数就是 \((x+1)·(y+1)\) x 是他左边的 ...

  10. phpstudy配置多站点

    1.打开vhosts.conf文件     目录 Apache/conf/vhosts.conf #开启apache的vhost模块 (此模块默认是关闭的,去掉前面的#号) LoadModule vh ...