专栏首页idbaMySQL 8.0.16 release notes

MySQL 8.0.16 release notes

先看看MySQL最新的release 发布速度,基本上每三个月一个小版本。DBA同行们是否感觉到了压力?

看完上面的release notes 列表时,我的感受是

步入正题,我们了解一下MySQL最新版本的功能特性以及Percona 发布的备份工具的最新版本有哪些特性。

MySQL 8.0.16

账号管理

1 具有 DROP ROLE 权限的用户只能删除被锁定的账户,而不能删除未锁定的账号。

2 引入 System users概念。具有SYSTEM_USER 权限的用户,区别于普通用户(没有SYSTEM_USER权限的用户)。普通用户只能维护普通用户的账号,不能维护 System users 的账号。

3 之前的版本中,赋权限的时候没有方法排除指定的schame的访问权限,比如赋予用户除了mysql之外的所有数据库的访问权限。新版本中可以通过开启参数 partial_revokes。来实现上述功能。

SET PERSIST partial_revokes = ON; GRANT SELECT, INSERT ON . TO u1; REVOKE SELECT, INSERT ON mysql.* FROM u1;

字符集

支持中文字符校验字符集 utf8mb4_zh_0900_as_cs

编译须知

MySQL 8.0 对编译的工具有比较新的版本需求 比如要求

GCC 版本 5.3在 EL6 and EL7 使用 devtoolset-8而非 devtoolset-7 Boost library 最低版本是 1.69.0

移除的功能特性

在新版本中,临时表的存储引擎默认使用innodb,故 internal_tmp_disk_storage_engine已经被移除。

接下来我们聊聊大家最关心的

功能改进和修改

explain 增加FORMAT=TREE的选项。帮助我们理解sql执行计划的执行过程。

  {EXPLAIN | DESCRIBE | DESC}    tbl_name [col_name | wild]  {EXPLAIN | DESCRIBE | DESC}    [explain_type]    {explainable_stmt | FOR CONNECTION connection_id}   explain_type: {    FORMAT = TRADITIONAL| JSON| TREE   }   explainable_stmt: {    SELECT statement  | DELETE statement  | INSERT statement  | REPLACE statement  | UPDATE statement  }

增加一个api内部调用的接口用于监控脏页的变化

MySQL将执行以下场景的where条件做对比的步骤从执行阶段提前到优化阶段。

 1. 当常量和某个字段作比较,且常量的值大于该字段类型的最大值,比如 a是 tinyint ,select * from t where a<256 会被直接转换为select * from t where  ture;  2. 和null作比较也被优化. 如果a 字段是可以为null的, SELECT * FROM t WHERE a IS NOT NULL.

目前还不支持between 和and。

MGR增加参数 group_replication_autorejoin_tries 控制节点加入集群的次数,超过指定次数则加入失败。默认值为0,也就是说MRG成员不主动尝试加入集群。 对于网络不太稳定的基础环境,启用该参数可以减少人肉运维操作,提高'幸福感'。

之前的版本中,MGR成员相互传递大量信息可能会导致部分节点接收失败并且从集群中移除。因为接受大量消息会导致接收消息的线程被group communication engine (XCom, a Paxos variant)占用很长时间,其他节点会认为该节点无法响应。 8.0.16版本通过参数group_replication_communication_max_message_size 支持将超过指定大小消息拆分为多组消息。

xtrabackup

Percona XtraBackup 8.0.6 于5.9号发布。我们来看看值得关注的点有哪些?

1 Percona XtraBackup 8.0.6支持MyRocks存储引擎,值得注意的是Percona server需要是8.0.15以及以上版本。

2 增加--storage 选项,支持将备份直接备份到AWS S3存储,MIO,谷歌云存储上。

  $ xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \ xbcloud put --storage=s3 \ --s3-endpoint='s3.amazonaws.com' \ --s3-access-key='YOUR-ACCESSKEYID' \ --s3-secret-key='YOUR-SECRETACCESSKEY' \ --s3-bucket='mysql_backups' --parallel=10 \ ${date -I}-full_backup

修复bug

1 my.cnf 中定义logbinindex 会导致恢复失败。

2 当备份期间修改了binlog row模式,在增量恢复准备阶段,恢复进程可能会异常退出。

3 如果在增量备份之前或者增量备份过程中创建undo 表空间,恢复的时候会失败。

相关阅读 MySQL 8.0.15 的release notes

本文分享自微信公众号 - yangyidba(yangyidba),作者:yangyidba

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 恢复误操作的方法

    前一段时间接二连三的出现开发人员在测试环境和生产误操作导致数据库误删除/更新,对DBA而言,回滚数据着实是一件头疼的事情,凡涉及到恢复线上数据必然对应用带来一定...

    用户1278550
  • MySQL的undo,redo,二阶段提交思维导图

    本文是结合CSDN的公开课《深入理解MySQL中的undo,redo,mvcc》视频和相关资料整理了一张思维导图,总结的时候,部分 OS/MySQL crash...

    用户1278550
  • 数据库的异地多活分析和方案

    前文提到异地多活的几种型态和基于OceanBase实现方案。这里再总结一下基于其他分布式数据库(MySQL)实现异地多活时要考虑的点。本文不讨论为什么做异地多活...

    用户1278550
  • 【译文】秒变大牛!给程序员的15个顶级职业建议

    好吧,我觉得10条不够,应该有15条职业建议。不过首先,我想解释一下出色的职业生涯是什么样的。

    华章科技
  • CocoaPods 制作私有库 Swift/OC 过程、注意点和错误总结

    最近由于要做组件化,所以就顺便看了看私有库的制作,整体上制作的过程是比较简单的,但有一些点你注意到的话会在制作过程会少去很多的麻烦,在网上搜的制作过程...

    Mr.RisingSun
  • 原创|干货|长文|264亿件包裹怎么破?闪电式自动化分拣技术 细节大起底!

    大家好,我是你们的老朋友,智能仓储物流技术研习社,社长,老K。上周给大家分享了仓储物流中心中的“拆零拣选”的章法和具体方案,这次老K带大家一起来进入下一个环节:...

    老King
  • 【赛题分析】分拣与排序(下)

    分拣与排序 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    EdenChen
  • android调用H5显示加载中效果的示例代码

    我们在看有些应用在引入h5的时候经常会有一个进度条在转,显示加载的意思,那么这个东西其实一般是我们android端做的事(不要把所有的事都推给h5~~~),其实...

    砸漏
  • 2017年我国大数据产业发展五大新突破

    2017年,大数据产业发展打开突破口,迎来爆发期,大数据融合应用进程加速,产业集聚进一步特色化发展,创新驱动仍是产业发展主基调,为做大做强数字经济、带动传统产业...

    企鹅号小编
  • AngularJS in Action读书笔记2——view和controller的那些事儿

    今天我们来818《angularjs in action》的第三章controller和view。 1.Big Picture概览图 ? image.png...

    JackieZheng

扫码关注云+社区

领取腾讯云代金券