分享更有价值
被信任是一种快乐

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

文章页正文上

这篇文章将为大家详细讲解有关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=or免费主机域名a,t=idempotent –no-check-replication-filters –executeFound 1 slaves:localhost.localdomain -> 192.168.1.19:socketWill check slave lag on:localhost.localdomain -> 192.168.1.19:socketOperation, 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, 1Altering `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 remainCopying `ora`.`idempotent`: 8% 10:40 remainCopying `ora`.`idempotent`: 11% 11:49 remainCopying `ora`.`idempotent`: 14% 12:08 remainCopying `ora`.`idempotent`: 17% 12:09 remainCopying `ora`.`idempotent`: 19% 12:15 remainCopying `ora`.`idempotent`: 22% 12:15 remainCopying `ora`.`idempotent`: 24% 12:11 remainCop免费主机域名ying `ora`.`idempotent`: 27% 12:09 remainCopying `ora`.`idempotent`: 29% 12:03 remainCopying `ora`.`idempotent`: 31% 11:45 remainCopying `ora`.`idempotent`: 34% 11:23 remainCopying `ora`.`idempotent`: 37% 11:01 remainCopying `ora`.`idempotent`: 39% 10:39 remainCopying `ora`.`idempotent`: 42% 10:11 remainCopying `ora`.`idempotent`: 44% 09:50 remainCopying `ora`.`idempotent`: 47% 09:35 remainCopying `ora`.`idempotent`: 49% 09:14 remainCopying `ora`.`idempotent`: 52% 08:44 remainCopying `ora`.`idempotent`: 55% 08:10 remainCopying `ora`.`idempotent`: 59% 07:17 remainCopying `ora`.`idempotent`: 63% 06:21 remainCopying `ora`.`idempotent`: 67% 05:32 remainCopying `ora`.`idempotent`: 71% 04:44 remainCopying `ora`.`idempotent`: 75% 03:59 remainCopying `ora`.`idempotent`: 80% 03:11 remainCopying `ora`.`idempotent`: 84% 02:28 remainCopying `ora`.`idempotent`: 88% 01:49 remainCopying `ora`.`idempotent`: 92% 01:08 remainCopying `ora`.`idempotent`: 96% 00:28 remain2019-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对大表加字段”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

相关推荐: 如何实现SQL查询连续号码段

这篇文章主要介绍“如何实现SQL查询连续号码免费主机域名段”,在日常操作中,相信很多人在如何实现SQL查询连续号码段问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现SQL查询连续号码段”的疑惑有所帮助!接下来,请跟着小编一…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册