mysql 升级_MySQL是时候该升级8.0了!

操作系统升级、数据库升级、一系列的软硬件升级......升吗?

要回答这个问题其实很简单,为什么要升级?

  • 遇到安全问题:当使用的系统或数据库遇到安全问题,发现安全漏洞,这时应该尽快升级,防止系统或数据库被恶意破坏。

  • 遇到性能问题:通常旧版本的系统或者数据库所适配的都是比较旧的硬件,例如低转速的磁盘,低频的CPU,容量较小的内存。随着硬件不断的进步,新版本的系统或者数据库都会针对新的硬件进行优化。因此,当系统或数据库采用了新的硬件之后,你的系统和数据库软件也应相对应的升级至新版本,才会发挥出应有的性能。大多数情况下,通过升级,以往困扰你多时的性能问题会变迎刃而解。

  • 遇到扩展性问题:随着数据量的爆发式增长,新的系统或数据库对扩展方面也做了大量的改善。因此,当遇到扩展性的问题时,不妨通过升级进行优化。

  • 新增功能:新的系统和数据库里面都会带有大量的新功能,如果想使用某些新功能,那一定是需要升级的。以MySQL为例,如果你想使用hash join那么请使用MySQL8.0.20之后的版本。

  • 弥补技术缺失:想象一下,如果你的系统使用的还是10年前的软件甚至是更为久远,那你会面临着技术缺失的情况。技术的发展日新月异,如果守着老旧技术不肯更新,无论是系统还是人,势必会被这个时代所淘汰。因此有必要通过升级去弥补技术的缺失。

  • 某个必要的时刻:实际情况中会遇到某些特殊的要求,例如,将原本分散在各地的系统进行整合,这种时刻,基本上会强制升级到某一指定版本。

接下来,我们主要关注一下数据库的升级,当升级数据库时,DBA所关心的问题有哪些?

  • 降低风险,成本是关键。

  • 总的升级时间应该尽可能短。

  • 升级后优先使用旧版本的行为和设定值与应用程序进行匹配,之后再进行更改。

  • 逐步采用新版本。

  • 切换和停机时间应该尽可能短。

MySQL8.0是通过哪些方法来满足DBA的关注点进行升级的呢?具体的升级过程可以参考在线手册:“https://dev.mysql.com/doc/refman/8.0/en/upgrading.html”。

MySQL8.0版本提供了MySQL Shell工具,可以对其进行升级检查。(注意,该工具仅适用于从5.7升级至8.0,如需跨版本升级,建议将其他版本先升级至5.7之后,在进行升级。例如,5.6-》5.7-》8.0逐级升级)。

首先,使用MySQL Shell连接到MySQL服务器查看一下当前版本信息和状态。

9366477ca8cef38dae65ee5fe8b5f5ed.png

其次,执行util.checkForServerUpgrade()对服务器进行检查,这个工具会对MySQL进行全方位的检查,列出错误和警告。

21f55db3c4e4b44f8e3d0303628c2d91.png

596422e39d61d843747c721b8cec5053.png

f64712a6b86ca08861f0e35e835ecefb.png

检查将返回在服务器上发现的升级方案错误和警告,在升级之前要将错误进行修改。修改错误后,还应该考虑进行进一步的修改以消除警告。这些配置修改将使服务器实例与目标版本更加兼容。MySQL8.0通过这个工具发现潜在问题,减少升级风险。

除此之外,MySQL8.0采用了新的数据字典,元数据全部保存在InnoDB表里面,并且具有版本信息,以方便得知从哪个版本升级而来。

ecb23d8cf52e411c2cec8d9edbbc62ec.png

从MySQL8.0.16开始,删除了mysql_update客户端,将其功能移至mysqld内部,实现了对容器化的友好支持。关于这部分内容请参阅:MySQL 8.0.16:mysql_upgrade即将消失

mysqld 增加了一个新的选项--upgrade,使用该选项可以控制MySQL服务器在每次启动时是否进行更新处理(更新处理包括数据字典更新和服务器的更新),可以通过不同的变量值对其进行设置。

以上内容是MySQL8.0对于升级所作出的改变,以迎合DBA降低风险,缩短升级时间的需求,为DBA的运维工作提供便利。

最后再次说明,MySQL5.6版本将于2021年2月停止更新,MySQL5.7版本的标准支持将于2020年10月结束,之后将进入延长支持阶段,补丁的数量会大幅减少,是时候将你的MySQL升级至8.0啦!MySQL产品的生命周期。

转文至此。

894b81274db15b0b6be3535c67e6a18c.gif

以下为个人公众号“一森咖记”,欢迎关注。 ebceca20b0b76c6c254db5299a6573ab.png                        

   

近期热文

你可能也会对以下话题感兴趣。点击链接便可查看。

  • MySQL:主从同步延迟Seconds_Behind_Master越来越大,什么鬼?

  • 编写MySQL Shell插件(REPORT)

  • MySQL官方监管好帮手__MEM(MySQL Enterprise Monitor)

  • 通过Maxwell解析MySQL Binlog,打好业务多活的基础

  • MySQL安全性解决方案,是个啥?

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

  • Oracle和MySQA

  • MySQL中left join的几个SQL对比X

  • MySQL静态数据加密和企业版TDE

  • MySQL8功能详解——数据字典

  • MySQL中如何查看正在执行的SQL语句?

  • MySQL的主键命名挺任性,就这么定了

  • 浅谈MySQL三种锁:全局锁、表锁和行锁

  • LINUX环境:MySQL和Oracle开机自启动,咋搞?

  • 生产环境:mysqlbackup逻辑备份的一种shell脚本实现

  • 生产环境:mysqlbackup物理备份的一种shell脚本实现

  • MySql 8.0.16 客户端连接失败

  • Oracle如何访问MySql:透明网关

  • 一款好的数据库监控工具:天兔数据库监控系统V3.8搭建

  • MySQL主从架构搭建+GTID同步方式部署

  • 用户:单台服务器部署多MySQL实例,咋弄?

  • MySQL服务器一次异常掉电的恢复

  • MySQL8.0.18新特性之bash join探究

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值