问题描述:MySQL实例可能会由于SQL语句、外部攻击等原因导致实例空间满,为避免数据丢失,RDS会对实例进行自动锁定,磁盘锁定之后,将无法进行写入操作。可在控制台的基本信息>运行状态 页面确认实例是否已自动锁定。
问题原因:
造成MySQL实例空间满的主要原因有以下四种:
数据文件占用高。
Binlog文件占用高。
在没有正确设置本地日志设置或不希望Binlog日志被强制删除时,可能会由于大事务导致Binlog日志暴增。
临时文件占用高。
通常导致临时文件占用高的原因是由于查询语句的排序、分组、关联表产生的临时表文件,或者大事务未提交前产生的Binlog缓存文件。
系统文件占用高。
系统文件涉及到ibdata1系统表的空间文件和ib_logfile0、ib_logfile1日志文件。InnoDB引擎表由于支持多版本并发控制(MVCC),因此会将查询所需的Undo信息保存在ibdata1系统文件中。如果存在对一个InnoDB表长时间不结束的查询,而且在查询过程中表有大量的数据变化,则会生成大量的Undo信息,导致ibdata1文件体积增加。
解决方案:
1.登录
数据库自治服务控制台,单击实例监控,单击目标实例ID。
2.单击左侧的空间分析,在空间变化趋势图表中查看具体的空间占用情况。判断出现问题的时间点和空间。