更新时间:2025-04-23 gmt 08:00
rds for mysql备份任务失败分析思路-j9九游会登录
场景描述
客户使用rds for mysql数据库服务,使用自有备份脚本,通过mysqldump命令进行异机备份。备份数据到一台与rds在不同子网的ecs主机,但备份任务运行300秒后就会中断,无法完成备份任务。
原因分析
为了排除网络问题,将执行备份任务的ecs主机更换为一台与rds服务器同一子网的ecs主机上,备份任务执行成功。
- 网络排查反馈:跨子网只是在虚拟网络设备中转换,类似于网关,时延和带宽没有大的差异。
- 数据库排查反馈: 每次中断都是300秒就中断了,是因为rds服务器端的参数导致,如果客户端300秒内没有完成数据写入,就会根据参数“net_write_timeout”的值断开数据库连接。

处理过程
- 了解mysqldump的备份的数据流向,采用的协议和端口。
mysqldump使用tcp协议连接rds服务器的8635端口,建立连接后,通过网络将数据备份到本地磁盘。
- 分析两台ecs主机的差异点:
- 查看两台主机硬件配置是否一致:同为2core 6gb。
- 查看两台主机os版本是否一致:同为centos7.4。
- 查看网卡速率是否一致。
- 查看内核参数配置是否一致,发现备份失败主机未做优化,备份成功的主机有做网络参数优化。

- 初步判断问题与tcp缓存参数设置相关,将成功ecs主机的内核参数覆盖到问题ecs主机上并使其生效,运行备份任务,备份任务未再中断,成功完成了备份。

j9九游会登录的解决方案
mysqldump在备份过程中会产生大数据读写,本场景是跨主机通过网络异机备份,备份端数据写入能力和tcp缓存无法匹配rds端的发送能力,超时时间达到数据库写超时设定的300秒,最终导致备份中断。可以通过修改内核参数增加tcp的缓存,提高备份端网络处理能力来解决问题。
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨