专栏首页杨建荣的学习笔记如果要升级到MySQL 8.0,可以分几个阶段走

如果要升级到MySQL 8.0,可以分几个阶段走

最近在推一些业务迈入MySQL 8.0,对很多同学来说,好像差别不大,对于我们来说却是一个质的变化,光看版本就能够感受出来,5.7-> 8.0,所幸我们3年前就迈入了5.7版本,多多少少也把5.7的特性都经历差不多了。

尤其是目前还处于MySQL 5.6版本的同学来说,尤其需要抓紧了。

升级到MySQL 8.0,有很多种操作方法,但是跨版本复制算是其中的一种较为平滑的方式,但是我想在这个基础上补充一些过程,首先,这个跨版本复制是有一些阶段的,其次,这个升级到过程不光是迭代的,还需要考虑完整的回退,如果出现异常情况,能够尽可能快速的回退。

鉴于此,我整理了如下的迭代升级计划,把整个升级的过程拉长,让整个过程可以和业务同学尽可能充分参与,切换过程尽可能平滑。

阶段一:

新增8.0节点,对业务不可见,有以下的基础工作:

  • 验证跨版本的基础兼容性
  • 修正相关参数模板
  • 关注数据延迟情况
  • 测试窗口函数,Hash JOIN,
  • 验证版本的主要差异
  • 基于GTID模式,测试完毕后可以重置GTID
  • 测试DDL改进,JSON支持
  • 测试clone插件和基础功能
  • 完成之后可以重构从库节点 4307

阶段二:

修改端口,使得8.0版本的实例成为对业务可见的节点,有以下的任务:

  • 验证查询兼容性,比如SQL_MODE等参数
  • 可以先开放一部分的查询需求给业务侧
  • 业务侧可以将一部分的查询需求切到从库上面测试

阶段三:

快速切换,将服务切换到8.0版本,有以下的任务:

  • 实现降级版本的从库,即8.0版本的主库,5.7版本的从库
  • 将5.7版本的从库链接到原5.7主库上面,使得异常情况下,可以直接降级到5.7(需要修改端口),这个过程有一些需要特别主要的点。

阶段四:

8.0版本开启writeset

阶段五(待定)

到了这个阶段,就可以灵活选择了。

异步复制模式升级为基于MGR的模式

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:杨建荣

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 当Python字符串遇上MySQL

    学习的时候我喜欢对比,MySQL和Oracle比,Python和MySQL比,总能有一些收获,也有了新的理解。 今天整理这部分内容的时候,我发现Python和...

    jeanron100
  • 两条报警信息的分析(第一篇) (r6笔记第70天)

    任何规则都是固定的,但是人是活的,很多时候把一些细节之处结合起来,还是能够发现一些潜在的问题。 早上收到zabbix的报警,是两条看似很平常的短信。 一封邮件内...

    jeanron100
  • 分分钟搭建Oracle环境 (r9笔记第23天)

    在Oracle运维中,有一个很基础的工作就是安装数据库软件,而这个工作一般少则需要花费个把小时,多则半天。 如果我们有大批量的服务器安装任务,那么这种时候你肯定...

    jeanron100
  • RNAseq分析流程-Hisat2+Samtools+Stringtie

    首先,分析RNAseq要对整个分析流程有个整体的了解: 参考https://tiramisutes.github.io/2018/12/04/ref-RNA-...

    生信编程日常
  • 电子合同:解锁教育行业合同签署新姿势

    近年来中国教育市场呈现旺盛的增长态势,成为我国经济领域闪亮的市场热点,成为创业投资最热门的关键词。国家教育部《全国教育事业发展统计公报》显示,未来5到10年,中...

    法大大电子合同
  • 人工智能力助肾脏诊断

    科研人员利用超级计算机和人工智能技术对肾脏受损程度和寿命进行了预测。 现在,科研人员已经能够通过基于人工智能(AI)的超级计算机模型,借助患者前往医院进行肾脏活...

    人工智能快报
  • 苹果将使用研究应用程序进行3项医学研究(Security)

    美国的Apple Watch和iPhone用户可以使用该应用程序参加苹果女性健康研究、苹果心脏运动研究和苹果听力研究。

    吴亚芳
  • C++编译与链接(1)-编译与链接过程

    大家知道计算机使用的一系列的1和0 那个一个C++语言程序又是如何从一个个.h和.cpp文件变成包含1和0的可执行文件呢? 可以认为有以下的几个环节 源程序->...

    magicsoar
  • 前端开发涉及的Web安全

    前端开发涉及常见的Web安全漏洞有:浏览器Web安全,跨站脚本攻击(XSS),跨站请求伪装(CSRF),点击劫持,HTTP劫持,DNS劫持,文件上传漏洞等,以跨...

    伯爵
  • 年关将至,看腾讯安全重保如何排兵布阵

    年关将至,在各行各业准备享受假期的时候 安全从业者却不敢有丝毫放松 因为在节假日、大型活动等“重要时刻” 网络安全的压力总是比平常大得多 一旦发生安全事件 带...

    腾讯云安全

扫码关注云+社区

领取腾讯云代金券