当前位置: 首页 > news >正文

[AWS]RDS数据库版本升级

背景:由于AWS上mysql5.7版本不再支持,需要进行版本升级。

吐槽:每年都要来那么几次,真的有病一样,很烦。

步骤一、升级检查

AWS提供了一个python的升级检测脚本,可以按照一下脚本下载测试:

[root@ip-bin]#wget https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.0.32-linux-glibc2.12-x86-64bit.tar.gz
[root@ip-bin]#tar -xvzf mysql-shell-8.0.32-linux-glibc2.12-x86-64bit.tar.gz
[root@ip-bin]#cd mysql-shell-8.0.32-linux-glibc2.12-x86-64bit/bin
[root@ip-bin]#./mysqlsh
MySQL JS > util.checkForServerUpgrade('admin@your-instance.rds.amazonaws.com:3306',{"password":"123456","targetVersion":"8.0.30"})
The MySQL server at your-instance.rds.amazonaws.com:3306,
version 5.7.38-log - Source distribution, will now be checked for compatibility
issues for upgrade to MySQL 8.0.30...

参考文档:保驾护航 – Amazon RDS for MySQL 5.7 到 8.0 升级前置检查 | 亚马逊AWS官方博客

吐槽:这个脚本有点脑残,比如我检测了6个error,实际却看不到具体是哪些。

只能一条一条往上翻,最后却只看到一个Error。

步骤二:控制台进行蓝绿部署。



报错一:RDS集群和实力没有使用相同的参数组。
不知道哪个傻逼建立RDS集群时候,创建集群和读写实例的时候,使用不一样的参数组,你要分别到集群配置和每个实例单独配置里面进行修改,修改参数组之后要立即应用,并且还要重启,保证一致:


报错二:“蓝/绿部署需要启用逻辑复制的数据库集群。在为数据库集群创建蓝/绿部署之前,请将数据库集群与启用逻辑复制的自,定义数据库集群参数组相关联。”
说尼玛那么复杂,其实就是在参数组没有启动binlog复制,但是RDS默认的default参数组,是不能进行修改的,所以不得不去创建一个参数组,

更改之后,在进入集群和实例,把参数组该为你现在新设置的。

报错三:升级之后的8.0不支持,db.r4.large。(报错的时候英文说的很复杂,记不住了,大概意思)
这个就是要到每个读写实力里面,先去把版本升级了,极其傻逼,AWS变相赚你钱

修改之后也要立即应用。

报错四:“The current DB cluster parameter group mysql5-7 is custom. You must explicitly specify a new DB cluster parameter group, either default or custom, for the engine version upgrade”
还是按照报错三的方式,自建8.0的参数组,给实例和集群。

报错五:“Databases using RDS Proxy are not currently supported for Blue Green Deployments”
这是你RDS启动了一个代理,要先把代理拿掉,不然建立不起蓝绿部署。

步骤三:
蓝绿部署升级过程中可能会遇到升级失败,马上查看日志:upgrade-prechecks.log


这份日志拿给AI分析一下,只需要改error的部分就行了,warning的不用管。

http://www.lryc.cn/news/465817.html

相关文章:

  • (Golang)初识Go语言!!为什么选择Go?如何配置Go的开发环境?VS Code如何配置Go环境?
  • 【人工智能-初级】第15章 TensorFlow 和 PyTorch 的入门:深度学习的利器
  • git禁用 SSL 证书验证
  • C++之《剑指offer》学习记录(2):sizeof
  • linux线程 | 同步与互斥 | 线程池以及知识点补充
  • ArkTS 如何实现表单,地区选择效果
  • Vite 项目的核心配置- vite.config.ts 和 tsconfig.json 全解析
  • 如何使用JMeter进行性能测试的保姆级教程
  • Qt 实战(11)样式表 | 11.1、样式表简介
  • WebGl 多缓冲区和数据偏移
  • 基于SSM的甜品店销售管理系统
  • Spacetime Gaussian Feature Splatting for Real-Time Dynamic View Synthesis
  • PCL 基于FPFH特征描述子获取点云对应关系
  • 项目实战:Qt+OpenCV仿射变换工具v1.1.0(支持打开图片、输出棋盘角点、调整偏移点、导出变换后的图等等)
  • OpenCV坐标系统与图像处理案例
  • Unity之如何使用Unity Cloud Build云构建
  • Halcon开启多线程
  • Echarts 点击事件无法使用 this 或者 this绑定的数据无法获取
  • PCL 基于距离阈值去除错误对应关系(永久免费版)
  • DirectX 11 和 Direct3D 11 的关系
  • 什么是SCRM?为什么企业要做SCRM?
  • 类间方差,分割地物
  • 基于微博评论的自然语言处理情感分析
  • MFEM( Modular Finite Element Methods)是一个灵活的、可扩展的、开源的有限元库
  • 在VMware上创建虚拟机以及安装Linux操作系统,使用ssh进行远程连接VMware安装注意点 (包含 v1,v8两张网卡如果没有的解决办法)
  • 关于vue3中如何实现多个v-model的自定义组件
  • 【STM32项目_2_基于STM32的宠物喂食系统】
  • 商场楼宇室内导航系统
  • 2025全网最全计算机毕业设计选题推荐:计算机毕设选题指导及避坑指南√
  • Vision China 2024 | 移远通信以一体化的AI训练及部署能力,引领3C电子制造智能升级