AWS MySQL RDS实例无响应并自动重新启动

时间:2017-04-04 05:57:48

标签: mysql amazon-web-services amazon-rds

我们有一个AWS MySQL RDS实例,大小约为1.7T。有时它变得没有反应,也无法进行任何操作。

  1. CPU利用率,写入IOPS,读取IOPS,队列深度,写入吞吐量,写入延迟和读取延迟降至零。
  2. 堆积的连接数量。
  3. "显示引擎innodb状态"挂起
  4. rdsadmin处于挂起状态的很多查询(每个约25个)。

    SELECT count(*) from mysql.rds_replication_status WHERE action = 'reset slave' and master_host is NULL and master_port is NULL GROUP BY action_timestamp,called_by_user,action,mysql_version,master_host,master_port ORDER BY action_timestamp LIMIT 1;
    
    SELECT NAME, VALUE FROM mysql.rds_configuration; 
    
  5. 一段时间后,实例会自动重启,并出现以下错误。

    启动MySQL重启以解决MySQL引发的日志备份问题。请注意,作为此结果的一部分,将在MySQL完成重新启动后执行数据库快照。

  6. enter image description here

    可能是什么问题?这经常发生。有时,令我们惊讶的是,这也发生在非高峰时期。

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并提出了AWS Support的问题。得到以下解释:

RDS监控服务发现了有关备份数据库二进制日志的问题,这对于即时恢复(PITR)功能至关重要。为了缓解此问题并为了避免数据损坏,RDS监视重新启动了RDS实例,因此会自动触发重新启动。为了确保没有数据丢失,它拍摄了数据库实例的快照。

虽然RDS实例是多AZ的,但由于以下原因,它没有进行故障转移:

多重AZ有两个标准: 1-单盒体验,这意味着客户即使在故障转移后也始终可以找到他的数据。 2-比单一AZ更高的可用性。

因此,当AWS监控服务将Decision故障转移到备用实例时,必须存在这两个标准,但在您的情况下,AWS监控服务发现了一些可能导致故障转移后数据丢失的风险,这就是它做出决定的原因重新启动而不是故障转移。

希望这会有所帮助。在过去的一周里,这发生在我身上3次。

答案 1 :(得分:0)

检查您的数据库维护窗口时间,我的意思是您的计划维护时间,并注意这个问题发生的时间是定期或随机发生的。

检查mysql错误日志和慢查询日志。

如果可能,请在此处粘贴可疑问题

答案 2 :(得分:0)

我们可以通过将实例升级到5.6.34来解决此问题。