安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

MySQL数据库升级的一些坑

12月20日 生死族投稿
  这是学习笔记的第2257篇文章
  读完需要
  9hr分钟
  速读仅需7分钟
  对于商业数据库而言,数据库升级是一个优先级很高的事情,有版本升级路线图,有相应的补丁,而且对于方案还有一系列的演练,显然是一场硬仗。而在MySQL方向上,升级这件事情就被淡化了许多,好像只能证明它的存在而已,当然正是由于这种不重视,也让我今天走了不少弯路。
  一般来说,升级MySQL有两类可行方案,一类是直接升级数据字典,在本机完成,整个过程会有离线操作,会对业务有中断,第二种是通过高可用切换平滑实现,原理是搭建低版本到高版本的数据复制关系,这种方案优势比较明显,对于业务的侵入性最低,而且还可以提前验证,更甚还可以做到平滑回退,当然第二种方案要做很多前期的准备工作。
  今天处理的一套环境基于存储和时长等因素使用的是第一种方法,整个流程如下:
  1)mysqldump备份数据库,备份文件大约为120G
  2)停止MySQL5。5数据库
  3)修改数据库端口重新启动数据库,比如从4308调整正为4318,使得迁移过程中避免其他业务连接的影响,验证无误后停库
  4)修改mysqlbase路径为5。7版本,修改usrbinmysql等环境变量配置
  5)替换配置文件为5。7版本,在5。7模式下启动数据库
  6)使用upgrade模式升级数据字典,命令如下:
  mysqlupgradesocketdatamysql4306tmpmysql。sockport4308urootpxxxx
  7)检查复核
  整个过程看上去还OK,实际操作的时候漏洞百出。
  1)mysqldump备份数据库,备份文件大约为120G,为了快速在线备份采用mysqldump,但是异常情况下的恢复效率是硬伤,所以此处不建议使用mysqldump备份,而是建议使用物理备份,甚至如果条件允许,直接使用冷备模式
  2)停止MySQL5。5数据库
  3)修改数据库端口重新启动数据库,比如从4308调整正为4318,使得迁移过程中避免其他业务连接的影响,验证无误后停库
  4)修改mysqlbase路径为5。7版本,修改usrbinmysql等环境变量配置
  5)替换配置文件为5。7版本,在5。7模式下启动数据库,这里没有注意ibdata的配置,运气不好,碰上了一个奇葩配置,如下:
  innodbdatafilepathibdata1:1000M;ibdata2:100M:autoextend
  而原本的规范配置都是一个ibdata文件,如下:
  innodbdatafilepathibdata1:1G:autoextend,
  导致数据库启动时报错,提示ibdata文件已经被损坏了。
  6)使用upgrade模式升级数据字典,命令如下:
  mysqlupgradesocketdatamysql4306tmpmysql。sockport4308urootpxxxx
  upgrade这个命令的实现提示不够友好,抛出了一大堆的错误,但是最后竟然安慰我说,升级成功。问题到了这个阶段的时候,其实已经比较难收场了,因为数据字典文件损坏,导致升级数据字典的操作完全不可能,现在数据库连里面的表都desc不出来了
  7)检查复核,本来轻轻松松收工的验证工作现在变成了紧急修复工作。
  后续的第一波补救措施如下:
  8)使用已有的凌晨固定的物理备份恢复数据,大约为1个小时,mysqldump恢复果断放弃,印象中至少得6个小时以上。
  9)使用物理备份模式备份当前数据库
  10)重新升级数据库,尤其注意ibdata的配置,如果升级失败则使用物理备份快速回退
  11)升级过程再次受阻,这一次是sqlmode,系统数据字典升级成功,但是数据库的表检测中,主要因为sqlmode的数据格式校验,导致很多数据表的格式校验失败,需要执行类似altertabletest。xxxxxforce这样的重构操作。
  12)因为恢复过程中未知原因,InnoDB的redolog也受到一些影响,日志开始抛错,所以当前恢复的数据库就算升级字典成功,本身也有一些硬伤。
  后续的第二波补救措施如下:
  13)使用mysqldump备份当前数据库,仅仅备份指定的数据库,不使用alldatabases选项,权限单独导出。
  14)部署MySQL5。7的实例,不同的端口,如4390端口
  15)sqlmode和5。5版本通配,修改其他参数等
  16)导入mysqldump数据至4390的5。7实例
  17)建立主从复制关系
  18)切换数据库端口,使5。7的新版本服务生效
  整个过程也是一波多折,见招拆招,发现想走捷径,最后发现一个坑都没有拉下,而这也给了我深刻的教训,千万不能掉以轻心,不能带着试运气的态度处理问题。
投诉 评论 转载

你好,李焕英热映,贾玲成名史曝光成就一个女孩只需要3人文叶丫丫来源女儿派大年初一,贾玲导演的电影《你好,李焕英》,笑倒了一片人,也看哭了一片人。穿越回1981年的贾玲,终于见证了妈妈的青春,也参与了妈妈有笑有泪的……存了30万闲钱的老人,和每月2000退休金的老人,谁过的更舒由于我国的老龄化程度不断加深,老年人口比例正在逐步上升,并且由于年轻一代生育意愿比较低,在未来一段时间内,我国人口年龄变化的趋势越愈发明显,也正是因此,养老问题变成了一个非常重……AMD用户后悔升级Windows11?微软后悔药的保质期都变微软全新一代Windows11操作系统终于放出了正式版本,所有Windows10用户只要硬件配置符合系统升级条件需求,皆可直接升级。微软开放Windows11偷渡路线……宝宝总爱饿睡不好爱哭闹?可能是猛涨期到了,父母别错过相关数据表明,孩子如果突然间总是爱哭闹,并且在这样的前提之下,宝宝也没有生病,可能是到了猛长期。由于很多宝宝的体质不同,所以发育的速度也是不同的,有的宝宝发育的就会比同龄……孙云晓生活感悟人之非凡的同义语就是在关键的时候豁得出去生活感悟250与文质彬彬的雷殿生在一起,真难以置信,他就是‘‘当代徐霞客’’、中国徒步笫一人。他在赠我的自传《信念:十年徒步中国》扉页写道:‘’坚定信念的力量‘’,这或许……iPhone13套娃记为什么苹果手机连续3年不改刘海屏据外媒MacRumors报道,iPhone13很可能缩小刘海面积希腊维修供应商iRepair向他们提供了三种尺寸(5。46。16。7英寸)新款iPhone的前玻璃盖板,可以看到……新房要不要装榻榻米?装过的人都笑了说到榻榻米,小编发现它对于以下特点的家庭非常实用:1、房型太小,放不下足够的柜子来收纳;2、房间不规则,无法放置常规的床和衣柜;3、想要提升空间利用率。……MySQL数据库升级的一些坑这是学习笔记的第2257篇文章读完需要9hr分钟速读仅需7分钟对于商业数据库而言,数据库升级是一个优先级很高的事情,有版本升级路线图,有相应的补丁,而且……为什么癫痫会在睡觉时发作?相信大家都知道,睡眠型癫痫的发生率是比较高的,经常在睡眠当中发病,危害很大。如果不注意,患者的病情会越来越严重,损害大脑。我们需要了解睡眠型癫痫的一些症状特点,才能及时控制癫痫……广州市教育局原定2021年中考延期,时间暂定7月2021年高考已经顺利落下帷幕,随之进入到大家视线的,就是牵动很多家长和考生的中考,但是,碍于疫情的种种原因,广州市的高考也再次出现了被搁置的情况。近日,广州市教育局再次……我们班的家长没有卖菜的,重点班老师的话,并非势利而是现实寒门出贵子。在现如今这个重视教育的年代,人们都非常在乎孩子的学业。所以说,不少家长都甘愿为了孩子的学业付出代价,会想尽一切办法给孩子提供更好的教育。可并非所有的家庭……剖腹产时间咋选?妇产科医生牢记四不选,保护孩子的健康文菁妈孩子某个时辰出生,以后肯定能当大官!孩子某个时辰出生,以后身体健康!孩子某个时辰出生,性格更温和。孩子的生辰八字,似乎可以决定孩子以后的性格,身体……
每年10月份,无数的孩子饱受摧残,妈妈焦头烂额之余做好这3件藏在绳子里的秘密给孩子独立解决问题的机会人到中年后才发现,早点生孩子和晚点生孩子差别很大,你怎么看?这种陪孩子过寒假的方式刷爆朋友圈,我想骂人了闺蜜的一句话毁了我的爱情,假如时光倒流,我一定不会这么做分享给妈妈和孩子们5个词汇,看懂无价ampamplt天道ampampgt中丁元英与智玄大师对话的一年级娃的作业从不磨蹭,感谢这件平凡小物培养了孩子的时间管理说吧,给你多少钱,你愿意生二胎?孩子眼中的世界2小学毕业前,做好这3件事情很重要,长高7厘米真的很简单有远见的父母要让孩子吃点苦夏天吃肉有4宝,简单拌一拌,解腻解馋,快乐吃肉无负担项目合同知识库关于Frp内网穿透知识的拾漏补缺妻子写给丈夫的婚姻报告你安家就安与诸弟及李少府访广教文鉴师新学期的新鲜事作文鬼谷子致胜绝学你人生最大的弱点就是太茶油可以擦脸吗茶油的功效与作用有肉就是有福的象征,女生这些部位有肉丰满,有福之人天生好命果然够懒啊!一概造句用一概造句大全北京公里打车多少钱

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利