如何在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而不影响生产环境。
➡️

继续阅读