返回顶部
首页 > 资讯 > 数据库 >MySQL数据库升级
  • 383
分享到

MySQL数据库升级

MySQL数据库升级 2018-01-24 15:01:15 383人浏览 猪猪侠
摘要

当前不少系统的数据库依旧是Mysql5.6,由于mysql5.7及Mysql8.0在性能及安全方面有着很大的提升,因此需要升级数据库。本文通过逻辑方式、物理方式原地升级来介绍MySQL5.6 升级至MySQL5.7的方法,并介绍其

MySQL数据库升级

当前不少系统的数据库依旧是Mysql5.6,由于mysql5.7及Mysql8.0在性能及安全方面有着很大的提升,因此需要升级数据库。本文通过逻辑方式、物理方式原地升级来介绍MySQL5.6 升级至MySQL5.7的方法,并介绍其使用场景。

1.  逻辑方式升级

逻辑方式升级其实就是通过逻辑备份工具(例如mysqldump工具)将数据库、表、其他相关对象及数据逻辑备份成SQL脚本,再将其还原至MySQL5.7的实例中。

详细步骤如下:

1.1  备份数据库

当前数据库的版本为MySQL5.6.27,现在准备备份

 因为库比较小,因此使用mysqldump进行备份即可。mysqldump备份的方法可以参考历史文章进行了解 

MySQL数据备份及还原(一) https://mp.weixin.qq.com/s/JbLThtgUq5RjkCuztSgBJg 或 Https://www.cnblogs.com/gjc592/p/12505347.html

备份脚本:


/usr/local/mysql/bin/mysqldump -uroot -p  --Socket=/app/data/mysql3307/tmp/mysql.sock  --master-data=2 --default-character-set=utf8  --routines   --triggers --events --flush-logs --flush-privileges --single-transaction  --all-databases   > all_db.sql

1.2  部署一套MySQL5.7实例

MySQL5.7 的部署历史文章里也有,如果不太熟悉的同学可以参考如下链接文章

MySQL5.7安装https://mp.weixin.qq.com/s/fbp-3hpMxrCc7R3_HQtchA 或 https://www.cnblogs.com/gjc592/p/9203711.html

安装过程比较简单,本文不再赘述。

1.3  数据导入MySQL5.7

将备份的MySQL5.6的数据导入到MySQL5.7 中即可。

1.4 应用场景

  • 数据量小的情况下使用,此方式通常不会失败
  • 在跨大版本升级的时候使用较多,例如,从MySQL5.6(或更低版本)直接升级到8.0版本
  • 不同MySQL分支之间升级

 

2.  mysql_update方式升级

使用mysql_update方式升级时,时间相对较快,尤其是数据库体量较大时,此方式可以原地直接升级。

步骤如下:

2.1  下载MySQL5.7

下载需要升级到的版本的数据库,例如本次升级到MySQL5.7.25-28版本(percona分支),则下载对应安装包,解压后配置软连接

2.2  修改配置文件

因MySQL5.6 的部分参数再MySQL5.7 中已经废弃或者默认值发生变化,另外也为了使用MySQL5.7的新特性,需要添加对应的参数配置,例如:

  • sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTioN   # 保持和MySQL5.6一致
  • innodb_large_prefix =OFF                                         # 保持和MySQL5.6 一致
  • log_timestamps=SYSTEM            # 新增参数,如果不添加,默认日志里采用UTC时间格式记录,我们看上去可能不太方便
  • secure_file_priv=/tmp                  # MySQL5.7对安全性做了很多提升,此参数不配置的话默认无法使用load file 及ELECT …OUTFILE等
  • character_set_server= utf8         # 虽然建议使用utf8mb4字符集,但是如果需要保持和原库一致,需要指定

当日,还有很多新特性的参数需要调整,在此不再一一列举,需要的同学直接联系我 或者参考历史文章配置即可

2.3 关闭MySQL5.6 实例

MySQL5.6的关闭可以使用停止服务的方式,也可以通过命令行方式,命令如下:


/usr/local/mysql/bin/mysqladmin  --socket=/app/data/mysql3307/tmp/mysql.sock    -uroot -p shutdown

建议: 生产环境中,如果可以使用此方式升级,强烈建议先直接冷备一下整个数据库的数据目录,已防止升级失败等情况出现。

2.4  使用MySQL5.7 启动原库

此时需要用MySQL5.7来启动数据库,启动后日志里会有一些报错信息。

启动数据库

/usr/local/mysql5.7/bin/mysqld_safe  --defaults-file=/app/data/mysql3307/etc/my.cnf &

日志里内容如下,出现很多错误,其中也提示到需要使用mysql_upgrade进行修复:

 2.5  升级数据库

MySQL升级工具是mysql_upgrade,错误日志里也提到了使用mysql_upgrade进行修复相应的错误。升级的方法如下:


/usr/local/mysql5.7/bin/mysql_upgrade  --socket=/app/data/mysql3307/tmp/mysql.sock    -uroot -p 

 如果只需要升级系统库,则加-s参数; 如果升级过程中有错误或者中断后想再次升级 可以添加--force参数强制升级


 /usr/local/mysql5.7/bin/mysql_upgrade  --socket=/app/data/mysql3307/tmp/mysql.sock    -uroot -p   -s

 /usr/local/mysql5.7/bin/mysql_upgrade  --socket=/app/data/mysql3307/tmp/mysql.sock    -uroot -p   --force

2.6 后续工作

升级完成后建议再进行以下工作

  • 重启数据库,以便所有功能生效;且重启后再次查看数据库日志
  • 修改环境变量及软连接,以便默认使用MySQL5.7的相关命令

附: 升级后数据库启动日志

2.7  使用场景

相同大版本之间的小版本升级

数据量较大,提前测试过两个版本之间可以原地升级时再用。

 

3.  小结

MySQL的逻辑升级及mysql_upgrade的原地升级都有各自的应用场景。但是无论用哪种方式,都要注意以下几点:

a)   在生产环境上进行升级操作之前一定需要先在测试环境中多次进行相同版本的升级测试工作;

b) 实际工作中,测试环境升级成功后需要经过相关业务的回归测试,确保相关功能升级后能正常使用后再在生产环境进行升级,建议测试环境进行1个月以上的测试

c)   生产环境升级前一定要进行备份

d)   生产环境的升级顺序建议是先升级从节点,再升级主节点或进行主从切换

 

以上就是MySQL5.6升级至MySQL5.7的2种主要方式,如有问题或建议,欢迎与我沟通或投稿(公众号:数据库干货铺)。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库升级

本文链接: https://lsjlt.com/news/5194.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL数据库升级
    当前不少系统的数据库依旧是MySQL5.6,由于MySQL5.7及MySQL8.0在性能及安全方面有着很大的提升,因此需要升级数据库。本文通过逻辑方式、物理方式原地升级来介绍MySQL5.6 升级至MySQL5.7的方法,并介绍其...
    99+
    2018-01-24
    MySQL数据库升级
  • 怎么升级mysql数据库
    升级 mysql 数据库涉及九个步骤:备份数据、确定新版本、下载安装程序、停止服务、升级 mysql、启动服务、验证版本、更新配置(可选)和测试应用程序。 如何升级 MySQL 数据库...
    99+
    2024-05-30
    mysql linux
  • MySQL数据库升级的坑有哪些
    这篇文章主要介绍“MySQL数据库升级的坑有哪些”,在日常操作中,相信很多人在MySQL数据库升级的坑有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库升级...
    99+
    2024-04-02
  • Android数据库升级实例
      第一部分   Andoird的SQLiteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的...
    99+
    2022-06-06
    android数据库 Android
  • MySQL数据库升级的一些"陷阱"
    对于商业数据库而言,数据库升级是一个优先级很高的事情,有版本升级路线图,有相应的补丁,而且对于方案还有一系列的演练,显然是一场硬仗。而在MySQL方向上,升级这件事情就被淡化了许多,好像只能证明它的存在而已,当然正是...
    99+
    2022-05-25
    MySQL 数据库升级
  • oralce 11g数据库升级到12c
    windows2012 安装12c--确认当前cdbSQL> select name,cdb from v$database;NAME     CDB----------...
    99+
    2024-04-02
  • gitlab升级数据库结构变吗
    GitLab 是一款开源的代码管理平台,它支持一个团队内多人协同工作,能够方便地进行代码版本控制、代码合并、备份和恢复等操作。GitLab经常会进行更新和升级,让团队拥有更好的体验和更高的效率。那么,当我们在进行GitLab的升级时,数据库...
    99+
    2023-10-22
  • 如何升级PostgreSQL数据库版本
    要升级PostgreSQL数据库版本,可以按照以下步骤操作: 1.备份数据库:在升级之前,务必对数据库进行备份,以防止数据丢失。 2...
    99+
    2024-04-09
    PostgreSQL
  • Linux7-mariadb数据库的源码包升级
    Mariadb源码包升级安装数据库的安装方式:1、RPM包 2、源码包 3、通用二进制格式的程序包详细解析源码包升级:这里以mariadb-5.5.46-linux-x86_64.tar...
    99+
    2024-04-02
  • Android 架构之数据库框架升级
    目录1、备份原数据库File文件2、数据库升级XML编写 updateXml.xml3、创建XML解析器 3.1 对应工具类 DomUtils.class 3.2 对应XM...
    99+
    2024-04-02
  • 如何升级Aurora数据库的版本
    要升级Aurora数据库的版本,您可以按照以下步骤操作: 创建数据库快照:在升级数据库版本之前,建议您先创建数据库快照以备份数据。...
    99+
    2024-04-02
  • IOS数据库升级数据迁移的示例分析
    这篇文章主要介绍IOS数据库升级数据迁移的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!IOS 数据库升级数据迁移的实例详解概要:很久以前就遇到过数据库版本升级的引用场景,当...
    99+
    2024-04-02
  • MySQL数据库提升篇-----事务
    day08 MySQL数据库提升篇-----事务一、事务概述:    事务在MySQL数据库中也是重要的一个部分,事务是由单独单元的一个或多个sql语句组成。每一个单...
    99+
    2024-04-02
  • mysql升级(物理升级)
    mysql升级是经常要做的工作,整理下升级步骤(物理升级) 1,关闭mysql服务 2,高版本软件覆盖低版本软件(替换掉basedir) 3,赋予新的高版本软件mysql权限 4,使用新的软件开启数据库 5...
    99+
    2024-04-02
  • 使用 MySQL SLES 存储库升级 MySQL
    MySQL 可以使用 MySQL SLES 存储库进行升级。让我们看看此升级所需的步骤。默认情况下,MySQL SLES 存储库将 MySQL 更新到用户在安装期间选择的发行系列中的最新版本要更新到不同的发行系列,已选择的系列的子存储库需要...
    99+
    2023-10-22
  • Android中数据库升级onUpgrade方法说明
      Andoird的SQLiteOpenHelper类中有一个onUpgrade方法。帮助文档中只是说当数据库升级时该方法被触发。经过实践,解决了我一连串的疑问:   1...
    99+
    2022-06-06
    数据 数据库 Android
  • 【数据库】mysql5.6升级至5.7(物理方式)
    本文的升级方式为物理升级: 直接替换掉mysql的安装目录和修改my.cnf,利用mysql_upgrade来完成系统表的升级,这种方法需要备份原有的文件,属于物理拷贝,速度较快。缺点的话,跨版本...
    99+
    2024-04-02
  • Oracle数据库异机升级是怎样的
    这期内容当中小编将会给大家带来有关Oracle数据库异机升级是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。架构介绍:源库:单实例  ip:192.168...
    99+
    2024-04-02
  • Android中怎么升级SQLite数据库版本
    这篇文章给大家介绍Android中怎么升级SQLite数据库版本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Android SQLite数据库版本升级的管理实现我们知道在SQLiteOpenHelper的构造方法:s...
    99+
    2023-05-30
    android sqlite
  • 阿里云硬件升级数据库教程
    # 本教程将详细介绍如何通过阿里云对硬件进行升级,以优化数据库性能和稳定性。我们将讲解如何选择合适的硬件设备、如何安装和配置数据库服务器以及如何监测和调整数据库性能。第一节:选择合适的硬件设备在进行硬件升级之前,我们需要先确定需要升级的硬件...
    99+
    2024-01-25
    阿里 硬件 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作