作者:管长龙
爱可生交付服务部 DBA,主要负责 MySQL 及 Redis 的日常问题处理,参与公司数据库培训的教研授课及开源社区的运营工作。
本文来源:原创投稿
* 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

上篇文章给大家介绍了MySQL8.0.23安装超详细教程,感兴趣的朋友点击查看。

MySQL 8.0.23 已于作日发布,目前发布频率稳定保持 3 个月一次。本次发布是维护版本,除了修复一些 Bug,此版本还增添了一些新功能。

一、不可见列

列可以定义为不可见,例如:

# 创建表时,可使其不可见(ALTER TABLE 也支持)mysql> CREATE TABLE t1 (col1 INT, col2 INT INVISIBLE);mysql> INSERT INTO t1 (col1, col2) VALUES(1, 2), (3, 4);# SQL 语句通过显式引用它来使用不可见列mysql> SELECT * FROM t1;+------+| col1 |+------+|  1 ||  3 |+------+# 如果未引用不可见的列,则该列将不会出现在结果中mysql> SELECT col1, col2 FROM t1;+------+------+| col1 | col2 |+------+------+|  1 |  2 ||  3 |  4 |+------+------+

二、查询属性

允许应用程序为其查询设置每个查询元数据。

mysql> query_attributes n1 v1 n2 v2;mysql> SELECT     mysql_query_attribute_string('n1') AS 'attr 1',     mysql_query_attribute_string('n2') AS 'attr 2',     mysql_query_attribute_string('n3') AS 'attr 3';+--------+--------+--------+| attr 1 | attr 2 | attr 3 |+--------+--------+--------+| v1   | v2   | NULL  |+--------+--------+--------+

三、安全

Doublewrite 文件页加密

InnoDB 自动加密属于加密表空间的 Doublewrite 文件页面,无需采取任何措施。使用相关表空间的加密密钥对 Doublewrite 文件页进行加密。同一表空间中被写入数据的加密页面也会被写入 Doublewrite 文件。属于未加密表空间的 Doublewrite 文件页面保持未加密状态。在恢复过程中,加密的 Doublewrite 文件页面是未加密状态并检查是否损坏。

https://dev.mysql.com/doc/refman/8.0/en/innodb-data-encryption.html

提高账户确定性

为了让 TCP 连接匹配账户更具确定性,在匹配主机名指定的账户前,匹配账户的主机名部分将以以下顺序检查使用主机 IP 地址指定账户。

# 指定 IP 地址的帐户mysql> CREATE USER 'user_name'@'127.0.0.1';mysql> CREATE USER 'user_name'@'198.51.100.44';# 使用 CIDR 表示法指定为 IP 地址的帐户mysql> CREATE USER 'user_name'@'192.0.2.21/8';mysql> CREATE USER 'user_name'@'198.51.100.44/16';# 使用带子网掩码格式的指定为 IP 地址的账户mysql> CREATE USER 'user_name'@'192.0.2.0/255.255.255.0';mysql> CREATE USER 'user_name'@'198.51.0.0/255.255.0.0';

更精准的 FLUSH 权限

授予 RELOAD 权限的用户可以执行各种操作。在某些情况下,为了使 DBA 避免授予 RELOAD 并使用户权限更接近允许的操作,已对 FLUSH 操作的更精细的特权控制,以使客户可以执行 FLUSH OPTIMIZER_COSTS,FLUSH STATUS,FLUSH USER_RESOURCES 和 FLUSH TABLES 语句,无需 RELOAD 权限。

https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_reload

四、InnoDB

优化 TRUNCATE / DROP

当用户对 InnoDB 表空间 TRUNCATE 或 DROP 操作:

  • 对有庞大缓冲池(>32GB)实例上的大表删除
  • 对具有自适应哈希索引引用大量页面的表空间
  • TRUNCATE 临时表空间

更多相关文章

  1. Android(安卓)Studio技能之快捷键
  2. 解读新一代岗位要求(一) ----------------Android开发工程师
  3. 关于新一代Android的一切Android(安卓)L (2014-07-04)
  4. Android热更新一:JAVA的类加载机制
  5. Vue开发中可以使用的ES6新特征
  6. EGG NETWORK阿凡提公链 全新一代算法稳定币之王EFTalk
  7. Pentek科技推出新一代长波段射频调谐器—Model 71791
  8. JDK9对String字符串的新一轮优化,不可不知
  9. Netdata 新一代实时监控系统(3)

随机推荐

  1. 堆栈/帧指针作为外部变量
  2. Linux最常用的基础命令 上篇
  3. Linux回调函数的应用---已经验证
  4. Ubuntu 一键安装下LAMP安装配置
  5. 解决nfs链接开发板出现:nfs:server is not
  6. fedora(linux)创建系统服务 程序开机自启
  7. Android(安卓)Jetpack 使用入门
  8. Nagios 监控 Linux 服务器
  9. 创建链表的小例子
  10. 让 Linux 启动时加载自己的驱动模块 .ko