如果我的 Amazon RDS MySQL 数据库实例卡在修改状态,该怎么办?

上次更新日期:2021 年 7 月 1 日

我的 MySQL 数据库实例的 Amazon Relational Database Service (Amazon RDS) 卡在修改状态。如何排查此问题?

简短描述

在 Amazon RDS 中,某些修改类型要求实例在实例更新期间不可用且无法访问。修改开始后,操作无法取消,并且数据库实例状态将显示为“modifying”(正在修改),直到操作完成。但是,当 Amazon RDS MySQL 处于修改状态时,可以执行以下操作。

解决方法

如果您的 Amazon RDS 数据库实例卡在修改状态,请考虑以下方法:

  • 从 AWS 管理控制台检索 Amazon RDS 资源的近期事件,以检查数据库实例的当前状态。近期事件日志显示过去 24 小时的事件。有关近期事件日志的更多信息,请参阅查看 Amazon RDS 事件
  • 检查 Amazon RDS MySQL 错误日志以验证数据库引擎的状态。Amazon RDS MySQL 每五分钟将 mysql-error.log 条目写入磁盘。当您查看日志文件时,RDS MySQL 会将日志内容附加到 mysql-error-running.log 文件中。
  • 如果您的 RDS MySQL 实例启用了自动备份选项,请尝试将数据库实例还原到指定的时间。或者,您可以从最新的可用数据库快照还原实例,使用原始配置创建新的数据库实例。有关更多信息,请参阅将数据库实例还原到指定的时间
  • 如果您创建了数据库实例的只读副本实例,请将只读副本升级为独立数据库实例。有关更多信息,请参阅将只读副本升级为独立数据库实例

应用修改 操作之前应遵循的最佳实践

在应用修改操作之前,请务必遵循以下最佳实践:

  • 在执行任何数据库实例修改之前,启用备份保留并将值设置为“>0”。启用备份保留可使 Amazon RDS 在需要时执行时间点恢复 (PITR)。
  • 查看 RDS MySQL 监控输出(SHOW FULL PROCESSLIST 和 SHOW ENGINE INNODB STATUS),避免任何长时间运行的交易或查询。有关更多信息,请参阅 MySQL 网站上的显示进程列表声明
  • 备份和还原测试数据库实例并执行试用版修改。试用版可帮助您估计完成预期更新所需的实际时间。
  • 对于生产环境,请启用多可用区部署。Amazon RDS 为使用多可用区部署的数据库实例提供了高可用性和故障转移支持