ITPub博客

首页 > 数据库 > 数据库开发技术 > MySQL大表DDL

MySQL大表DDL

原创 数据库开发技术 作者:DBA札记 时间:2021-10-29 02:24:57 0 删除 编辑

好久没有更新文章了,发现还是偶尔有粉丝关注。所以还是坚持给大家分享一些东西。


最近线上有大表变更。所以给大家分享一下大表变更的工具。

MySQL大表变更主要有原生的online DDL、pt-osc(pt-online-schema-change)、ghost三种工具。


online DDL在5.7、8.0版本会支持更好一点儿,早一点的版本支持比较弱。

pt-osc是percona工具集中的一个工具。应该是应用最广泛的之一。

ghost是用go语言实现的工具。


详细的说明大家参考官网文档。下面附上pt-osc的例子,供大家参考。


pt-online-schema-change -h127.0.0.1 -uroot -pxxxx -P3306 --charset utf8 --chunk-time 0.03 --check-interval 5 --max-lag 3 --critical-load Threads_connected:1000,Threads_running:80 --max-load Threads_connected:1000,Threads_running:80 --set-vars innodb_lock_wait_timeout=1,lock_wait_timeout=5 --tries create_triggers:20:1,drop_triggers:20:1,copy_rows:20:1,swap_tables:20:1 --progress percentage,5 --check-replication-filters --check-alter --recurse=1 --alter-foreign-keys-method=auto --statistics --no-version-check --recursion-method=processlist D=test,t=test111 --alter " ADD COLUMN age int " --no-version-check --print --dry-run



pt-online-schema-change -h127.0.0.1 -uroot -pxxxx -P3306 --charset utf8 --chunk-time 0.03 --check-interval 5 --max-lag 3 --critical-load Threads_connected:1000,Threads_running:80 --max-load Threads_connected:1000,Threads_running:80 --set-vars innodb_lock_wait_timeout=1,lock_wait_timeout=5 --tries create_triggers:20:1,drop_triggers:20:1,copy_rows:20:1,swap_tables:20:1 --progress percentage,5 --check-replication-filters --check-alter --recurse=1 --alter-foreign-keys-method=auto --statistics --no-version-check --recursion-method=processlist D=test,t=test111 --alter " ADD COLUMN age int " --no-version-check --print --execute              

                          


历史文章:

MySQL参数的"双1"设置

Docker基本介绍和常用操作命令--docker上篇

MySQL DBA必备工具Percona Toolkit--上篇

原文作者:DBA札记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-01-18

  • 博文量
    90
  • 访问量
    40025