文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

MySQL 5.7如何使用pt-online-schema-change对大表加字段

2024-04-02 19:55

关注

这篇文章将为大家详细讲解有关MySQL 5.7如何使用pt-online-schema-change对大表加字段,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

业务需求:

对一张线上的3000W行的表加字段:

用普通方式,建议小表使用:

ALTER TABLE `idempotent`

ADD COLUMN `orderid` VARCHAR(20) NULL DEFAULT NULL COMMENT '业务单据号' AFTER `isdelete`;

ALTER TABLE ship_type ADD printer_name VARCHAR(50)  COMMENT '打印机名称';

大表会锁表。

对大表加字段,建议用pt-online-schema-change工具,可以不锁表。

对表idempotent加字段orderid:

命令:

[root@DB001 ~]#pt-online-schema-change --user=root --password=123456 --host=192.168.1.18  --alter "ADD COLUMN orderid VARCHAR(20) NULL DEFAULT NULL COMMENT '业务单据号'" D=ora,t=idempotent --no-check-replication-filters  --execute

Found 1 slaves:

localhost.localdomain -> 192.168.1.19:socket

Will check slave lag on:

localhost.localdomain -> 192.168.1.19:socket

Operation, tries, wait:

  analyze_table, 10, 1

  copy_rows, 10, 0.25

  create_triggers, 10, 1

  drop_triggers, 10, 1

  swap_tables, 10, 1

  update_foreign_keys, 10, 1

Altering `ora`.`idempotent`...

Creating new table...

Created new table ora._idempotent_new OK.

Altering new table...

Altered `ora`.`_idempotent_new` OK.

2019-10-23T19:01:00 Creating triggers...

2019-10-23T19:01:00 Created triggers OK.

2019-10-23T19:01:00 Copying approximately 24968401 rows...

Copying `ora`.`idempotent`:   4% 10:53 remain

Copying `ora`.`idempotent`:   8% 10:40 remain

Copying `ora`.`idempotent`:  11% 11:49 remain

Copying `ora`.`idempotent`:  14% 12:08 remain

Copying `ora`.`idempotent`:  17% 12:09 remain

Copying `ora`.`idempotent`:  19% 12:15 remain

Copying `ora`.`idempotent`:  22% 12:15 remain

Copying `ora`.`idempotent`:  24% 12:11 remain

Copying `ora`.`idempotent`:  27% 12:09 remain

Copying `ora`.`idempotent`:  29% 12:03 remain

Copying `ora`.`idempotent`:  31% 11:45 remain

Copying `ora`.`idempotent`:  34% 11:23 remain

Copying `ora`.`idempotent`:  37% 11:01 remain

Copying `ora`.`idempotent`:  39% 10:39 remain

Copying `ora`.`idempotent`:  42% 10:11 remain

Copying `ora`.`idempotent`:  44% 09:50 remain

Copying `ora`.`idempotent`:  47% 09:35 remain

Copying `ora`.`idempotent`:  49% 09:14 remain

Copying `ora`.`idempotent`:  52% 08:44 remain

Copying `ora`.`idempotent`:  55% 08:10 remain

Copying `ora`.`idempotent`:  59% 07:17 remain

Copying `ora`.`idempotent`:  63% 06:21 remain

Copying `ora`.`idempotent`:  67% 05:32 remain

Copying `ora`.`idempotent`:  71% 04:44 remain

Copying `ora`.`idempotent`:  75% 03:59 remain

Copying `ora`.`idempotent`:  80% 03:11 remain

Copying `ora`.`idempotent`:  84% 02:28 remain

Copying `ora`.`idempotent`:  88% 01:49 remain

Copying `ora`.`idempotent`:  92% 01:08 remain

Copying `ora`.`idempotent`:  96% 00:28 remain

2019-10-23T19:18:24 Copied rows OK.

2019-10-23T19:18:24 Analyzing new table...

2019-10-23T19:18:24 Swapping tables...

2019-10-23T19:18:24 Swapped original and new tables OK.

2019-10-23T19:18:24 Dropping old table...

2019-10-23T19:18:26 Dropped old table `ora`.`_idempotent_old` OK.

2019-10-23T19:18:26 Dropping triggers...

2019-10-23T19:18:26 Dropped triggers OK.

Successfully altered `ora`.`idempotent`.

You have mail in /var/spool/mail/root

整个过程持续10几分钟,不锁表。

字段添加完成。

PS:

切记在业务低峰运行。

pt-online-schema-change --user=user --password=xxx --host=ip --port=3306 --alter “add column col1 VARCHAR(64) NULL COMMENT ‘订单号’” D=sy,t=t1 --execute --charset=utf8  --nocheck-replication-filters --max-load=“Threads_running=20”

可以指定字符集,防止加好字段的表的注释出现乱码。

修改注释:

ALTER TABLE idempotent MODIFY COLUMN `sysno` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '编号';

关于“MySQL 5.7如何使用pt-online-schema-change对大表加字段”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯