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= --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在线修改脚本的更多相关文章
- 在线修改大表结构pt-online-schema-change
使用场景 在线数据库的维护中,总会涉及到研发修改表结构的情况,修改一些小表影响很小,而修改大表时,往往影响业务的正常运转,如表数据量超过500W,1000W,甚至过亿时 在线修改大表的可能影响 在线修 ...
- (转)pt-online-schema-change在线修改表结构
原文:http://www.ywnds.com/?p=4442 一.背景 MySQL大字段的DDL操作:加减字段.索引.修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响 ...
- 在线修改MySQL大表的表结构
由于某个临时需求,需要给在线MySQL的某个超过千万的表增加一个字段.此表在设计之时完全按照需求实现,并没有多余的保留字段. 我们知道在MySQL中如果要执行ALTER TABLE操作,MySQL会通 ...
- AppBoxFuture(四). 随需而变-Online Schema Change
需求变更是信息化过程中的家常便饭,而在变更过程中如何尽可能小的影响在线业务是比较头疼的事情.举个车联网监控的例子:原终端设备上传车辆的经纬度数据,新的终端设备支持同时上传速度数据,而旧的车辆状态表 ...
- 在线修改GTID模式
在线修改GTID模式 1. 在每一台机器上执行命令 SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = WARN; 这是很重要的一步,必须确保服务器上没有违反GTID规范的 ...
- mysql在线修改表结构大数据表的风险与解决办法归纳
整理这篇文章的缘由: 互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需 ...
- [分享]运维分享一一阿里云linux系统mysql密码修改脚本
[分享]运维分享一一阿里云linux系统mysql密码修改脚本 大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信 只看楼主 更多操作楼主 发表于: 2014-09-3 ...
- 为VisualSVN Server增加在线修改用户密码的功能
原文:为VisualSVN Server增加在线修改用户密码的功能 附件下载:点击下载 VisualSVN Server是一个非常不错的SVN Server程序,方便,直观,用户管理也异常方便. 不过 ...
- schema change + ogg 变更手册
Check OGG until no data queuing in replication process:testRO:a)login test5 –l oggmgrb)oggc)#ggsci ...
随机推荐
- centos7.5搭建svn
1.安装svnyum install subversion 2.查看安装位置rpm -ql subversion 3.创建svn版本库目录mkdir -p /var/svn/svnrepos 4.创建 ...
- docker扩容
方法一. https://www.cnblogs.com/atuotuo/p/7217331.html 只需要修改 dockerd 的启动参数啊 增加 --data-root 把 /var/lib/d ...
- SVM之KKT条件理解
在SVM中,我们的超平面参数最终只与间隔边界上的向量(样本)有关,故称为支持向量机. 求解最优超平面,即求最大化间隔,或最小化间隔的倒数:||w||2/2,约束条件为yi(wTxi+b)>=1 ...
- PHP 静态变量的介绍
PHP静态变量 变量在程序里是生命周期,存储在栈上,函数执行完就会被释放,而静态变量不同之处在于,函数执行完后并不会被释放,而是保留到下次函数调用,直到程序执行完,才从栈上释放 在PHP中有3类全局变 ...
- ocelot集成consul服务发现
首先下载consul 点击这里下载 转到解压文件夹目录输入cmd命令 consul agent -dev (有时候会卡住按一下方向键上) 在浏览器中输入http://localhost:8500/u ...
- 关于Eclipse及JDK安装过程中的一些问题
一,环境变量的配置 1.配置CLASSPATH系统变量 CLASSPATH系统变量为类查找路径 ①.在使用javac进行编译时遇到import时候就会通过这个变量里面配置的路径去查找.如果配置的是目录 ...
- for循环练习题:拆解字符并输入下标
test = input('请输入:') for item in range(0,len(test)): print(item,test[item])
- RSA加密 抛异常 algid parse error, not a sequence
JDK1.8环境 参考:BouncyCastle的使用:https://blog.csdn.net/qq_29583513/article/details/78866461 可解决 公钥解密 私钥加密 ...
- 【转帖】是时候给大家介绍 Spring Boot/Cloud 背后豪华的研发团队了。
是时候给大家介绍 Spring Boot/Cloud 背后豪华的研发团队了. 2019/01/03 http://www.ityouknow.com/springboot/2019/01/03/spr ...
- TCP和UDP头部格式的了解?
tcp头部格式如下图所示: 1.源端口号,16位,发送方的端口号. 2.目标端口号,16位,发送方的目标端口号. 3. 32为序列号,sequence number,保证网络传输数据的顺序性. 4. ...