千家信息网

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

发表于:2024-09-27 作者:千家信息网编辑
千家信息网最后更新 2024年09月27日,这期内容当中小编将会给大家带来有关pt-online-schema-change使用参数是怎样的呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。pt-online-
千家信息网最后更新 2024年09月27日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安全错误 数据库的锁怎样保障安全 免费下载单位网络安全维护方案 泛微oa用什么数据库 工信局和网络安全 历史dns根服务器 关闭实验 网络安全的软件是什么 360在全球网络安全排名 sql数据库备份失败无法访问 北京拓林思软件开发公司 数据库技术现状与发展趋势 骁龙8玩我的世界服务器为什么卡 网络安全 招标文件 网络安全服务OkR 崩坏三苹果安卓服务器 滨湖区加工软件开发生产过程 计算机网络技术学的内容 提供java存取数据库能力的包是 天津理工大学esi数据库 web服务器套件 怎么看电脑服务器和数据库名称 东营微信小程序软件开发哪家便宜 河北服务器基地云服务器 网络安全基础 书籍 南阳服务器机柜价格 网络安全国家立法解读 数据库管理技术的发展进程 达州网络安全服务 魔兽世界不同服务器转移东西 太仓管理软件开发服务费 数码兽数据库鼻涕兽 富锦市网络安全与信息化中心
0