如何在EC2和AWS Aurora上使用Percona Toolkit修改大型MySQL表!
💡
原文约600字/词,阅读约需3分钟。
📝
内容提要
最近,我在AWS Aurora的MySQL集群中为一个大表添加新列。为了避免影响数据库性能,我创建了新表、设置触发器,并分批复制数据。通过EC2连接RDS,使用Percona Toolkit工具在线更改schema,虽然耗时较长,但成功完成了更新,未影响生产环境。
🎯
关键要点
- 在AWS Aurora的MySQL集群中添加新列时,直接使用ALTER命令会影响数据库性能。
- 解决方案是创建新表、设置触发器并分批复制数据。
- 使用EC2连接RDS,并安装Percona Toolkit工具进行在线更改schema。
- 修改RDS的参数组以支持更改,确保binlog_checksum和log_bin_trust_function_creators设置正确。
- 通过SSH连接到EC2并连接到RDS数据库。
- 安装Percona Toolkit并使用pt-online-schema-change命令进行表结构更改。
- 更改过程可能需要几个小时,使用screen命令保持会话活跃。
- 完成后,原表和新表成功交换,旧表被删除,触发器也被移除。
- 使用Percona Toolkit成功更新schema而不影响生产环境。
➡️