阿里云rds mysql更新证书的逻辑

证书更换的逻辑:
1. 只读节点是高可用版本的情况下(不适合只读节点是basic的版本), 先对只读节点的slave进行更新证书。
1.1 更新证书的过程,先把证书路径下的证书文件进行删除或者重命名。因为如果生成新证书时,在同一路径下存在同名文件,则创建失败。(证书路径是数据库中 show variables like ‘%ssl%’中的参数显示的路径)
1.2. 用mysql_ssl_rsa_setup创建证书,证书期限是一年,证书产生在原来老证书路径,由于老证书之前进行了删除或者重命名,不存在同一路径下同时有2张证书的情况。

2. 证书更新后的生效,需要重启mysql实例,通过HA切换来实现。
2.1 只读节点的主从互换,其实并不是的主从互换,而是一个读写主实例,基于mysql原生主从,做了2个只读实例。一主拖两从部署。
2.2 HA切换,是重启了只读节点的slave节点上实例,并且将只读节点的终端链接指向,(可能是通过修改dns指向),指向这个实例。
2.3 在只读节点的原master节点(现在为slave节点)上,生成新证书,重启只读节点原master节点。

在2023-11-01之前,存在一个bug,是在证书更换的第1阶段, 没有正确生成新证书。这可能是老证书没有重命名或删除,导致同名新证书无法生成;可能是创建新证书时mysql_ssl_rsa_setup执行失败。 —— 这就导致,在阿里云控制台的界面上看,更新证书是成功的。但是实际应用ssl连接到从库,是报错的。
在2023-11-01之后修复。

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据