MySQL小版本升级(8.0.36->8.0.37)

关于MySQL升级的话MySQL官方文档上面介绍了2个方法,’就地升级’和‘逻辑升级’。’就地升级‘就是升级底层的RPM包而‘逻辑升级’就是将旧MySQL数据库上的信息迁移到新MySQL数据库上。

本篇文章介绍到的是RPM包升级

升级MySQL版本的典型步骤包括:

  1. 备份:在进行任何数据库升级之前,最重要的是做好全面的数据备份,包括二进制日志、数据文件等,以防升级过程中发生任何不可预料的问题。

  2. 下载新版本RPM包:从MySQL官方网站或其他可信源下载对应的新版本RPM包,确保下载的版本与你的系统架构(如x86_64)相匹配。

  3. 停止MySQL服务:在升级前,你需要确保MySQL服务已经停止运行,以避免数据损坏或冲突。

  4. 安装新版本RPM包:使用RPM命令(如yum installdnf install,取决于你的系统包管理器)安装下载的新版本MySQL RPM包。这一步骤会自动处理依赖关系,并可能替换旧版本的文件和配置。

  5. 数据兼容性检查与迁移:虽然直接使用RPM升级通常旨在保持向下兼容,但有时新版本可能会要求对数据结构进行调整。在重大版本升级时,遵循MySQL官方的升级指南特别重要,以检查和执行任何必要的数据迁移步骤。

  6. 配置更新:升级后,可能需要手动调整或验证配置文件(如my.cnf),以适应新版本的配置需求或利用新特性。

  7. 启动MySQL服务并验证:完成上述步骤后,启动MySQL服务,并进行一系列的测试来验证升级是否成功,包括检查数据库的运行状态、数据的完整性以及新功能的可用性。

  8. 性能与安全优化:根据需要,可能还要对新版本进行性能调优和安全加固。

1.停止MySQL服务

systemctl stop mysqld
systemctl status mysqld

2.卸载旧的MySQL8.0.36 RPM包,卸载的时候必须按顺序卸载,否则会由依赖报错

rpm -qa | grep mysql 
rpm -evh mysql-community-server-8.0.36-1.el7.x86_64
rpm -evh mysql-community-client-8.0.36-1.el7.x86_64
rpm -evh mysql-community-icu-data-files-8.0.36-1.el7.x86_64
rpm -evh mysql-community-libs-8.0.36-1.el7.x86_64
rpm -evh mysql-community-client-plugins-8.0.36-1.el7.x86_64
rpm -evh mysql-community-common-8.0.36-1.el7.x86_64

3.去官网下载新的MySQL RPM包  https://dev.mysql.com/downloads/mysql/

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.37-1.el9.x86_64.rpm-bundle.tar

4.解压并安装,安装的时候也要按顺序安装,否则会报依赖错误

tar -xvf mysql-8.0.37-1.el9.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-8.0.37-1.el9.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.37-1.el9.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.37-1.el9.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.37-1.el9.x86_64.rpm
rpm -ivh mysql-community-client-8.0.37-1.el9.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.37-1.el9.x86_64.rpm
rpm -ivh mysql-community-server-8.0.37-1.el9.x86_64.rpm

5.重启MySQL服务

systemctl start mysqld

6.登陆MySQL查看版本

select version()

注意事项:

  1. 数据兼容性检查与迁移:不同版本的MySQL可能在数据存储格式、系统表结构、索引机制等方面有所差异。升级过程需要检查现有数据库的数据结构与新版本的兼容性,必要时对数据进行迁移或转换,确保数据能够在新版本中正确存储和访问。

  2. 二进制日志与事务日志处理:在升级前,MySQL会检查并处理现有的二进制日志和事务日志,确保在升级过程中及升级后能够正确地恢复未完成的事务或重放日志,维持数据一致性。

  3. 配置文件与系统变量更新:新版本MySQL可能引入新的配置选项,废弃旧的配置项,或者修改默认设置。升级过程中会自动或手动更新my.cnf等配置文件,以及相应的系统变量,以匹配新版本的要求。

  4. 执行引擎与存储引擎升级:MySQL的核心执行引擎和存储引擎(如InnoDB)在不同版本间可能有显著改进。升级过程中会对这些引擎进行更新,包括但不限于性能优化、新功能集成和bug修复,这可能需要对存储的数据进行一定程度的重构或优化。

  5. API与协议变化:如果MySQL的客户端/服务器协议、库接口(如libmysqlclient)有所改变,升级过程需要确保所有依赖这些API的应用程序也相应地更新,以保证与新版本数据库的兼容。

  6. 功能与性能增强:新版本通常会引入新的SQL语法、函数、存储过程等特性,以及性能上的优化。升级过程中可能需要对数据库设计、查询语句、触发器、视图等进行审查和调整,以利用新版本的功能优势。

  7. 安全与权限模型更新:MySQL的安全机制和权限系统也可能随版本升级而变化,涉及密码哈希算法、加密模块、安全相关的系统变量等。升级时会调整相关设置,确保数据库的安全性得到提升。

  8. 备份与回滚策略:在执行升级前,通常需要进行全面的数据库备份,以防升级失败或出现意外情况。同时,制定详细的回滚计划,确保在出现问题时能够迅速恢复到升级前的状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/31458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法篇-排序

快排 算法思想:每次找一个基数,然后对数组左右遍历,将小于基数的数据放到左边,大于基数的数放到右边,然后将基数左边,右边进行迭代再排序。 public static void quickSort(int[] nums, int left, int ri…

SCIE与SCI期刊的区别

在学术出版领域,SCI(Science Citation Index)和SCIE(Science Citation Index Expanded)是两个关键的索引数据库,它们对科研人员在选择发表论文的期刊时起着至关重要的作用。虽然这两个术语经常被交替使用&a…

Python100题(含答案)

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末 温馨提示:篇幅有限,已打包文件夹,获取方式在:文末 篇幅有限,这份完整版的Python100题已经上传,朋友们如果…

easyx之图形库复习--自制写轮眼的图形绘制

引子效果图如下: 什么是easyx? EasyX 是针对 C/C 的图形库,可以帮助使用C/C语言的程序员快速上手图形和游戏编程。比如,可以用 VC EasyX 很快的用几何图形画一个房子,或者一辆移动的小车,可以编写俄罗斯方…

AI PPT生成器,一键在线智能生成PPT工具

PPT作为商业沟通和教育培训中的重要工具,PPT制作对于我们来说并不陌生。但是传统的PPT制作不仅耗时,而且想要做出精美的PPT,需要具备一定的设计技能。下面小编就来和大家分享几款AI PPT工具,只要输入主题,内容就可以在…

1台SW工作站5人同时使用能实现吗

在当今的数字化时代,高效的工作方式和技术创新是企业竞争力的重要组成部分。SolidWorks作为一款功能强大的三维设计软件,广泛应用于机械、电子、建筑等多个领域。然而,随着企业规模的扩大和团队人数的增加,如何充分利用有限的资源…

关于undo的问题

以下都查看下 undo保留时间: show parameter undo; 查UNDO段状态及自动调整的保留时间命令: select BEGIN_TIME,END_TIME,MAXQUERYLEN,MAXQUERYSQLID,TUNED_UNDORETENTIONfrom V$UNDOSTAT Order By begin_time Desc; 查UNDO段EXPIRED等使用情况&#…

大模型网信办备案全网最详细流程【附附件】

本文要点:大模型备案最详细说明,大模型备案条件有哪些,《算法安全自评估报告》模板,大模型算法备案,大模型上线备案,生成式人工智能(大语言模型)安全评估要点,网信办大模型备案。 大模型备案安…

Linux企业 集群批量管理-秘钥认证

集群批量管理-秘钥认证 概述 管理更加轻松:两个节点,通过秘钥认证形成进行访问,不需要输入密码,单向服务要求(应用场景): 一些服务在使用前要求我们做秘钥认证 手动写批量管理脚本名字&#x…

来自 Kubecon Paris 的快讯

一年一度的 KubeconEU 审查时间到了——它未经过滤,偶尔不受 CNCF 的欢迎——但剧透警告,巴黎取得了巨大的成功。我们总是爱这里的人,我们并不总是爱场地或演出管理,但巴黎是一场胜利,更重要的是,Kubernete…

德国慕尼黑智慧能源展去了多少家国内充电企业?

无论是为了突破本土市场的局限,出海开拓更广阔的国际市场需求,增加销售额,分散市场风险,还是为了通过出海获得国际经验后以反哺国内市场。 各大行业都出现了“要么出海,要么出局”的声音。扬帆出海,参与全球…

C语言 | Leetcode C语言题解之第155题最小栈

题目: 题解: //单调栈 单调递减 typedef struct {//正常 stackint stack[10000];int stackTop;//辅助 stackint minStack[10000];int minStackTop; } MinStack;MinStack* minStackCreate() {MinStack* newStack (MinStack *) malloc(sizeof(MinS…

Android SurfaceFlinger——SF与HWC交互流程(六)

在上一篇 HWC2On1Adapter 初始化完成后,调用 initWithDevice() 实例化 HwcHal 对象,然后创建高级接口(IComposer),使得调用者能够通过这个接口与硬件进行交互。这里我们就来看一下 HwcHal 和 IComposer 的初始化流程。…

到底什么是载波聚合?

载波聚合技术是无线通信系统中的一项关键创新,它极大地提升了数据传输的效率和速度。 这项技术的核心思想其实相当直观,即:如果能够将多个独立的通信路径或连接聚合起来,那么相比单一路径,就能够传输更多的信息。 这就…

mysql设置密码复杂度策略,登录失败次数限制

在配置文件中加入如下配置,重启mysql服务 [mysqld] #密码复杂度插件 plugin-load-addvalidate_password.so validate-passwordFORCE_PLUS_PERMANENT validate_password_policy2 # 0简单 1普通 2困难 validate_password_length9 # 密码长度限制 #登录失败次数、时间…

描述React Hooks中的useMemo和useCallback的区别和用途。

React Hooks API中的useMemo和useCallback都是用于优化性能的钩子,但它们的用途和工作方式略有不同: 推荐大家看看我过往的文章 useMemo useMemo是一个性能优化钩子,它返回一个记忆化的值。useMemo可以避免在组件渲染时进行昂贵的计算或操作…

一文读懂数据仓库ODS层

数据仓库一般分为三层,分别为数据贴源层(ODS,Operation Data Store)、数据公共层(CDM,Common Data Model)和数据应用层(ADS,Application Data Service)。其中…

方舟云康亏损收窄:三年近10亿销售成本,平均付费及月活仍大幅承压

《港湾商业观察》施子夫 三度递表后,终于通过聆讯,方舟云康控股有限公司(以下简称,方舟云康)有望近期内挂牌港交所。方舟云康的国内运营主体为广州方舟云康信息科技集团有限公司、广州方舟医药有限公司。 值得关注的是,亏损的难…

Python中文自然语言处理(NLP)中文分词工具库之pkuseg使用详解

概要 在中文自然语言处理(NLP)中,分词是一个基础且关键的任务。pkuseg 是由北京大学开发的一个中文分词工具,专为处理现代汉语而设计。它采用了先进的深度学习技术,能够准确地进行中文分词,同时支持自定义词典和多领域分词。本文将详细介绍 pkuseg 库,包括其安装方法、…

《图数据库:理论与实践》书籍销售火爆,二次印刷重磅来袭!

好书共享,就在此刻! 由创邻科技联合电子工业出版社匠心打磨三年,最终成稿的图数据库书籍《图数据库:理论与实践》发行上线后,获得了广泛好评,各平台销量迅速破千,并荣登京东 “数据库图书榜”热…