我在 AWS 上有一个小型 RDS 实例,在维护详细信息中,我已将“自动次要版本升级”设置为“是”。但我仍然拥有 MySQL 引擎版本 5.5.27,而 AWS 有版本 5.5.33 可用。我这里遗漏了什么吗?
答案1
我在 RDS 中有几个看不见、想不到的 5.5 实例,结果发现它们也运行着 5.5.27。
在 5.5.27 和当前可用的最高版本 5.5.33 之间,RDS for MySQL 5.5 仅(显然)支持另一个次要版本,即 5.5.31。
RDS 最初发布了时间表何时完成次要版本升级至 5.5.33,以及随后宣布他们已经暂停那些自动升级:
2013 年 10 月 30 日,根据监控系统发出的信号,我们暂停了所有区域的升级过程。我们将审查系统并发布未来升级的新时间表。
这应该可以解释为什么您的系统没有升级到 5.5.33,但无法解释为什么您没有升级到 5.5.31……或者为什么我没有升级。
然后我意识到我实际上不记得有关自动升级到 5.5.31 的公告。
我搜索了一下,但没有找到。
但我发现计划自动升级至 5.5.27 的公告。
这让我猜测 RDS 实际上从未像对 5.5.27 那样大规模升级到 5.5.31,或者可能仍会升级到 5.5.33……在这种情况下,您的实例和我的实例的状态是合理的。我非常认真地搜索,没有找到其他解释。当涉及到任何引用 5.5.31 的问题时,AWS 论坛的搜索结果也非常少。我也没有遇到任何其他会阻止自动小版本升级的“意料之外的设置”。
所以我认为你没有遗漏什么,我怀疑当他们恢复自动升级时,你会自动升级到 5.5.33。我的计划是等待,如果升级来了而我没有得到我的,就发帖到论坛上。
看来,唯一的其他选择就是现在在论坛上发帖,看看你是否能引起 AWS 人员的注意或从任何有建议的用户那里获得反馈……或者手动选择新的小版本并将其应用到你的实例,但这并不能回答小版本升级是否损坏的问题,或者我们目前在运行 5.5.27 的系统上看到的是否与我们应该看到的差不多。
答案2
这个问题现在已经很老了,这个答案解释了2019年使用postgres引擎版本出现这种行为的情况9.6.*
。
首先让我们看一下最近几个可用的minor
引擎版本:
$ aws rds describe-db-engine-versions --engine postgres --engine-version 9.6.8 | \
jq '.DBEngineVersions[0].ValidUpgradeTarget[] | select(.IsMajorVersionUpgrade==false)'
{
"Engine": "postgres",
"EngineVersion": "9.6.9",
"AutoUpgrade": false,
"IsMajorVersionUpgrade": false
}
{
"Engine": "postgres",
"EngineVersion": "9.6.10",
"Description": "PostgreSQL 9.6.10-R1",
"AutoUpgrade": false,
"IsMajorVersionUpgrade": false
}
{
"Engine": "postgres",
"EngineVersion": "9.6.11",
"Description": "PostgreSQL 9.6.11-R1",
"AutoUpgrade": true,
"IsMajorVersionUpgrade": false
}
{
"Engine": "postgres",
"EngineVersion": "9.6.12",
"Description": "PostgreSQL 9.6.12-R1",
"AutoUpgrade": false,
"IsMajorVersionUpgrade": false
}
{
"Engine": "postgres",
"EngineVersion": "9.6.14",
"Description": "PostgreSQL 9.6.14-R1",
"AutoUpgrade": false,
"IsMajorVersionUpgrade": false
}
{
"Engine": "postgres",
"EngineVersion": "9.6.15",
"Description": "PostgreSQL 9.6.15-R1",
"AutoUpgrade": false,
"IsMajorVersionUpgrade": false
}
请注意仅有的 9.6.11
已AutoUpgrade
设置为true
。这意味着如果您运行的是9.6.11
和你已经AutoMinorVersionUpgrade
设置true
然后9.6.11
您将在下一个维护时段自动升级到。
如果你正在跑步,9.6.11
你将会不是自动升级到后续版本。尽管 RDS 控制台建议如下:
您的数据库实例正在运行 postgres 版本 9.6.11。我们建议您升级到版本 9.6.15,因为它包含最新的安全修复程序和其他改进。
有用的命令:
$ aws rds describe-db-instances | jq -r '.DBInstances[0].EngineVersion'
$ aws rds describe-db-instances | jq -r '.DBInstances[0].AutoMinorVersionUpgrade'
$ aws rds describe-db-instances | jq -r '.DBInstances[0].PreferredMaintenanceWindow'
$ aws rds describe-pending-maintenance-actions