首页/数据/数据库速查/gh-ost / pt-online-schema-change 概念
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条
性能与调优57 条
Redis 命令96 条Redis 运维与场景124 条

gh-ost / pt-online-schema-change 概念

大表改结构的两大外部工具:pt-osc 用触发器同步增量,gh-ost 读 binlog 无触发器;均可限流、暂停、回滚,适合上亿行表的结构变更。

数据库速查数据更新于 2026-10-12

对比

维度pt-oscgh-ost
增量同步触发器binlog 解析
主库影响触发器写放大较轻(可控限流)
切换原子 RENAME原子 RENAME
依赖Percona Toolkit独立二进制

gh-ost 示例(概念)

gh-ost 示例(概念)
gh-ost --host=127.0.0.1 --user=osc --password='***' \
  --database=appdb --table=orders --alter="ADD COLUMN memo VARCHAR(200)" \
  --max-load="Threads_running=50" --critical-load="Threads_running=200" \
  --execute
工具都需从库/主库读 binlog 或写触发器:权限、外键、触发器冲突要提前评估。

易错点

  • 表上已有触发器:pt-osc 直接拒绝或需特殊参数,评估后再上
  • 不限流直接跑:高峰期与业务抢 IO,风险远大于原生 DDL

数据来源与参考

  • gh-ost 项目文档
  • Percona Toolkit: pt-online-schema-change

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌