首页 > 问答 > 关键词 > MySQL最新资讯 > 正文

MySQL数据库怎么升级 MySQL数据库升级教程

2020-07-03 13:48 · 稿源:数据库干货铺

当前不少系统的数据库依旧是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 的关闭可以使用停止服务的方式,也可以通过命令行方式,命令如下:

/*mysql5.6 关闭实例的方式需要使用mysqladmin *//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)   生产环境的升级顺序建议是先升级从节点,再升级主节点或进行主从切换

本文转载自微信公众号【数据库干货铺】。

网友热搜:

  • 相关推荐
  • 大家在看
  • MySQL敏感数据怎么加密 数据加密解密教程

    大数据时代的到来,数据成为企业最重要的资产之一,数据加密的也是保护数据资产的重要手段。本文主要在结合学习通过MySQL函数及Python加密方法来演示数据加密的一些简单方式。

  • MySQL怎么连接 全部连接方式汇总

    1. 连接方式1.1 方式1 /usr/local/mysql5.7/bin/mysql -p此方法默认采用root@localhost用户登录,1.2 方式2/usr/local/mysql5.7/bin/mysql -uroot -p -S /app/data/mysql3307/tmp/mysql.sock1.3 方式3/usr/local/mysql5.7/bin/mysql -uroot -p -h 127.0.0.1 -P3307此方式的用户和方式 2 的不同,如下 root@localhost 和root@127.0.0.1是不同的用户1.4 方式4 /usr/local/mysql5.7/bin/mysql -uroot -p -h localhost -P3307此方式和?

  • MySQL怎么删除#sql开头的临时表

    巡检时发现服务器磁盘空间不足,通过查看大文件进行筛选是发现有几个#sql开头的文件,且存在超过100G及10G以上的文件。

  • MySQL一直自动重启解决办法

    近期,测试环境出现了一次MySQL数据库不断自动重启的问题,导致的原因是强行kill -9 杀掉数据库进程导致,报错信息如下:2019-07-24T01:14:53.769512Z 0 [Note] Executing SELECT * FROM INFORMATION_SCHEMA.TABLES; to get a list of tables using the deprecated partition engine. You may use the startup option --disable-partition-engine-check to skip this check.2019-07-24T01:14:53.769516Z 0 [Note] Beginning of

  • MYSQL的ibtmp1文件太大怎么处理

    1. 啥情况呀测试环境机器磁盘空间不足的告警打破了下午的沉寂,一群人开始忙活着删数据。但是,不久前刚清理了一波数据,测试环境在没做压测的情况下不至于短短一个月不到就涨了200G数据,于是,我悄悄的进入数据目录下,发现一个不寻常的点,ibtmp1 文件有192G ll -hibtmp1 -rw-r----- 1 mysql mysql 192G Aug 12 16:20 ibtmp12. 怎么处理2.1 简单说明ibtmp1 是非压缩的innodb临时表的独立表空间,通过innodb_temp_data_file_pat

  • MySQL忘记密码怎么办 密码重置详细教程

    如果忘记密码,对于MySQL而言处理起来也相对比较简单。但需要修改配置,重启数据库。可以按照如下步骤处理。

  • MySQL数据备份及恢复教程 巧用xtrabackup工具备份恢复

    本文将通过应用更为普遍的物理备份工具xtrabackup来演示数据备份及恢复的第二篇内容。

  • 为避免种族歧视,MySQL宣布删除黑名单白名单等术语

    MySQL数据库的开发人员日前宣布,计划在数据库源代码和文档中停止使用并替换 master、 slave、 blacklist(黑名单)和whitelist(白名单)等术语。

  • MySQL传统点位复制在线转为GTID模式复制

    1. GTID优缺点MySQL传统点位复制在5. 7 版本前是主要的主从复制模式,而随着MySQL5. 6 版本引入GTID,并且MySQL5. 7 进行各方面的优化以后,在mySQL5.7(尤其是MySQL5.7.6)版本后GTID模式的主从复制方式成为一个新的选择方式。要使用GTID模式,首先也需知其优缺点,其主要的优缺点如下:1.1 优点a) 更简单的实现failover,无需找log_file和log_Pos。b) 更简单的搭建主从复制。c) 复制集群有一个统一的方式识别复制位置,给集群管理

  • 黑名单、白名单完全不能用了!MySQL、Twitter等纷纷删除

    作为全球第二大流行数据库,MySQL也受到了众所周知事件的影响,不得不做出一些调整。MySQL开发人员今天宣布,计划在数据库源文件、文档中停止使用master(主)、slave(从)、blacklist(黑名单)、

  • 偶数科技高性能国产数据库OushuDB v4.0正式上线

    2020年7月,备受关注的国产数据库厂商偶数科技正式对外发布了核心高性能数据库OushuDB v4.0 GA版本。本次在4.0 Beta版本的基础上又增加了很多广受欢迎的新特性,同时在性能和稳定性方面均得到大幅提升。在之前发布的OushuDB v4.0 Beta版本中,主要增加了分布式原生表存储Magma,并将其作为OushuDB的新一代数据存储底层实现,和HDFS并驾齐驱。相较于Beta版,本次正式版又增加了以下新特性:1. 全新的HDFS存储上的Native ORC格式,可以完整支

  • 美国数据库巨头甲骨文裁撤北京中心 传员工N+6离职补偿

    Oracle甲骨文是美国乃至全球知名的数据库巨头,在国内也建有多个研发中心或者子公司。从去年开始,甲骨文北京就一直传闻在大裁员,高达500多人都要离职,不过甲骨文给予的补偿还不错,不少员工拿

  • 王九山获得中国影响力人物数据库“2020年度优秀培训讲师”奖项

    近日,由中国影响力人物数据库、CCTV 决策中国栏目、中华网组织,由国内权威的名人百科平台联合 20 家媒体网站推出“2020 年度优秀培训讲师”媒体展播活动落下帷幕。王九山凭借多年的良好口碑与强劲的实力荣获“ 2020 年度优秀培训讲师”奖项。 中国影响力人物数据库,是国内最为权威的名人百科平台。平台收录了包括时政、娱乐、医药、企业、文化、律师、科教、设计、公益等数十个行业的权威专家及名人,发展至今已成为国内最具影

  • 我来数科的大数据风控探索:数据驱动引领发展

    大数据风控能力是金融企业的命脉。不论是银行还是商业金融机构,其核心竞争力就是风控能力。作为金融科技的先行者,我来数科洞察未来金融市场趋势的基础上,率先进行数字科技升级,以数据驱动引领平台发展,在大数据风控领域做出了积极的探索。 众所周知,金融机构普遍肩负着社会经济的稳定健康发展的部分责任,同时又要作为商业单位存活,机构需要在兼顾监管层高标准与严要求的同时提升盈利水平,靠的就是风控。这其中,大数据风

  • 智引数字未来 西部数据如何应对“新常态”下的数据需求?

    我们的世界正在全面进入数字化进程,数据在我们的人际关系、职场、健康和安全等方面所扮演的角色越来越重要,“数据”成为了未来时代的关键词。尤其是今年整个世界都面对着突如其来的新冠疫情,由此各个市场与行业均迎来严峻的挑战,企业业务开展和运营的模式、用户日常的生活和工作方式都发生了急剧的变化。由数字化驱动的业务模式,成为新时期的核心驱动力,数字化进程正在全面加速推进。前不久,西部数据公司举办了以“智引数字

  • 女子地库狂砸9辆豪车 结果还认错车!背后原因让网友无语

    都说冲动是魔鬼,可还是有许多人体会不到这句话的真正意义。等到事情发生在自己身上,再去承担后果时,明白也已经晚了。据媒体报道,近日,广东的一位年轻女子,在一地下车库用锤子、灭火器、

  • 卡思数据发布《7日抖音TOP100主播带货数据研究》

    最近读了 3 份来自不同机构关于直播电商的报告,总体来说还是蛮有收获的。因出品直播电商报告的机构太多,原计划要在年中出报告的我们,觉得做此事的意义已不那么大,且大报告一直存在的弊病是好不容易得出的观点,在飞速发展的行业里很快便会“站不住脚”,遂决定将读过的报告里没有但我仍觉有价值的部分,以数据研究型文章的形式,定期分享给到大家。

  • 币安何一:相信数据会说真话

    何一,作为币安的联合创始人,也许在20多岁当老师时,后来做主持人时,一脚踏进币圈又抽身而去时,赶在30岁前重返币圈时她迷茫过,但加入币安后,她的目标是清晰的,对自己的未来也是清晰的。这样的何一,在遇事后会格外的冷静,因为她相信,币安的发展方向是对的。去年11月,正值中国监管再次针对数字货币行业展开大规模整治的起点,提供买卖服务的交易平台是此轮摸排的重点。在北京,BISS团队遭调查,在上海,IDAX被警方立案,而

  • 360金融首席科学家张家兴:数据产生价值 AI与数据要一起建设

    在2020世界人工智能大会上,360金融首席科学家张家兴博士在企业级AI架构专场中发表金融领域的数据AI融合中台演讲,分享360金融在人工智能应用的实战经验。张家兴认为,“原本在金融里的决策是基于人的理性的决策,但随着人工智能的发展,我们逐渐转变为用机器学习模型做抉择。这种决策超越了人的理性,可以称为超理性决策,其特点是基于数据和不可解释,效果上优于人的理性决策。”据悉,目前市场上采取?

  • AI数据迈入场景化时代,头部企业云测数据重建产业模式

    中国AI数据服务行业正走入场景化以及精细化时代,在政策的进一步推动以及技术的进一步成熟下,人工智能产业落地速度明显提速,中国AI数据服务行业迎来巨大的发展浪潮。iiMedia Research(艾媒咨询)发布的《 2020 年中国AI数据服务行业研究报告》主要针对商业模式、应用范围、竞争格局等领域进行市场解读、企业研究以及未来趋势预测。 中国AI核心产业市场规模将超 1500 亿元, 数据服务发展潜力不断拓展 中国AI数据服务行业现如今发

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签

热文

  • 3 天
  • 7天