千家信息网

pt-online-schema-change使用参数是怎样的呢

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这期内容当中小编将会给大家带来有关pt-online-schema-change使用参数是怎样的呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。pt-online-
千家信息网最后更新 2026年11月02日pt-online-schema-change使用参数是怎样的呢

这期内容当中小编将会给大家带来有关pt-online-schema-change使用参数是怎样的呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

pt-online-schema-change使用


工作原理:
1、如果存在外键,根据alter-foreign-keys-method参数的值,检测外键相关的表,做相应设置的处理。没有使用 --alter-foreign-keys-method=rebuild_constraints 指定特定的值,该工具不予执行
2、创建一个和源表表结构相同的表(table_new),执行alter修改临时表结构
3、在原表上创建三个触发器,insert,delete,udpate对应的触发器,(用于copy数据的过程中,在原表的更新操作更新到新表)
4、从原表拷贝数据到新表,拷贝过程中在原表的写操作都会更新到新建的临时表
5、修改外键相关的子表,根据修改后的数据,修改外键关联的子表
6、rename源数据表为old,把新表rename为源表明,并将old表删除
7、删除触发器

执行条件:
1、操作的表必须有主键或者唯一索引,否则报错
2、该表不能定义触发器,否则报错

用法介绍:
pt-online-schema-change --host=ip --port=3306 --user=username --password='password' D=db_name,t=table_name --alter="modify order_id bigint(20) COMMENT '订单id';" --critical-load="Threads_running=200" --sleep=1 --charset=utf8mb4 --check-slave-lag="192.168.1.2,192.168.1.3" --check-interval=1 --execute

--dry-run 创建并修改新表,但不创建触发器,也不复制表,或者替换原表,与--execute互斥
--execute 这个参数的作用和前面工作原理的介绍的一样,会建立触发器,来保证最新变更的数据会影响至新表。注意:如果不加这个参数,这个工具会在执行一些检查后退出
--critical-load 每次chunk操作前后,会根据show global status统计指定的状态量的变化,默认是统计Thread_running。目的是为了安全,防止原始表上的触发器引起负载过高。这也是为了防止在线DDL对线上的影响。超过设置的阀值,就会终止操作,在线DDL就会中断。提示的异常如上报错信息
--charset=utf8 连接到MySQL后运行SET NAMES UTF8
--check-slave-lag 检查主从延迟
--check-replication-filters 检查复制中是否设置了过滤条件,如果设置了,程序将退出
--nocheck-replication-filters 不检查复制中是否设置了过滤条件
--set-vars 设置mysql的变量值
--sleep 每个chunk导入后与下一次chunk导入开始前sleep一会,sleep时间越长,对于磁盘IO的冲击就越小
--[no]drop-old-table rename新表后drop旧表,可以no-xxx来保留旧表
--[no]drop-new-table 如果复制原表失败则删除新表; 也可以no-xxx来保留新表
--chunk-size chunk的行数,默认1000
--chunk-index-columns 有复合索引的时候,指定索引列
--critical-load 默认Threads_running=50; 每次chunk执行后会自动用SHOW GLOBAL STATUS检查负载情况,如果超过阈值则放弃;
--execute 执行操作 与 --dry-run互斥
--force 强制运行,可能打破外键约束
--skip-check-slave-lag 检查SLAVE的时候,指定该SLAVE跳过;
--print 将会显示工具执行的命令
--null-to-not-null 修改允许null值为not null
--preserve-triggers 保留原表的触发器,不删除
--max-lag 默认1s, 如果主从延时的时间超过这个值,则复制会暂停"--check-interval"秒时间;然后再检查,直到主从延时小于该值;如果指定了"--check-slave-lag",则只会检查指定slave延时,而不是检查所有slave;如果有任何SLAVE stop了,那么工具会一直等待下去;每次停止的时候都会打印报告
--ask-pass 连接的时候会要求提供密码

上述就是小编为大家分享的pt-online-schema-change使用参数是怎样的呢了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

检查 触发器 参数 数据 工具 时候 主从 时间 条件 索引 更新 内容 原理 拷贝 结构 过程 分析 在线 工作 影响 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 美国互联网保险保险科技 互联网和科技创新 重庆互联网络科技 极限挑战互联网科技 奇酷互联网络科技公司 沃里互联网科技 互联网科技素材视频竖屏 互联网科技公司招聘 厦门比较好的科技互联网公司 允成互联网科技有限公司融资 互联网第三次科技革命特征 半导体是互联网高科技吗 工业互联网科技成果转化 北京天晋互联网科技有限公司 绵阳真晨互联网科技有限公司 杭州融税互联网科技有限公司 广东猫王互联网科技有限公司电话 瑞安市蟠桃会互联网科技有限公司 高科技和互联网的现代国家 安徽鑫晟辉互联网科技 科技创新互联网企业 美国互联网黑科技 易通互联网络科技有限公司 掌上梦互联网科技 中国的互联网科技企业的崛起 互联网为啥属于高科技 互联网5g黑科技有哪些 上海钢联属于互联网科技股吗 互联网风格科技公司名称
0