mysql8.0.19.0正确安装图解(MySQL 8.0.23 主要更新一览新特征解读)
mysql8.0.19.0正确安装图解
MySQL 8.0.23 主要更新一览新特征解读
作者:管长龙
爱可生交付服务部 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 | + ------+------+ |
https://dev.mysql.com/doc/refman/8.0/en/invisible-columns.html
二、查询属性
允许应用程序为其查询设置每个查询元数据。
|
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 | + --------+--------+--------+ |
https://dev.mysql.com/doc/refman/8.0/en/query-attribute-udfs.html#udf_mysql-query-attribute-string
三、安全
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' ; |
https://dev.mysql.com/doc/refman/8.0/en/connection-access.html
更精准的 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 临时表空间
以上情况,MySQL 现在将其标记为已删除,然后从缓冲池懒惰地释放属于已删除表空间的所有页面,或者像释放页面一样重用它们。
新增表空间 AUTOEXTEND_SIZE 属性
InnoDB 常规表 CREATE / ALTER TABLESPACE 子句和独立表空间的 CREATE / ALTER TABLE 子句新增自动扩展属性。原表空间的增长大小已在 InnoDB 内部硬编码为 1MB [默认](page_size * 一个范围内的页面数)。设置后,表空间的增长大小可以由用户决定。
|
# 创建或修改表时指定扩展空间大小 mysql> CREATE TABLE t1 (c1 INT ) AUTOEXTEND_SIZE = 4M; mysql> ALTER TABLE t1 AUTOEXTEND_SIZE = 4M; # 查询该属性值 mysql> SELECT NAME , AUTOEXTEND_SIZE FROM INFORMATION_SCHEMA.INNODB_TABLESPACES WHERE NAME LIKE 'test/t1' ; + ---------+-----------------+ | NAME | AUTOEXTEND_SIZE | + ---------+-----------------+ | test/t1 | 4194304 | + ---------+-----------------+ |
https://dev.mysql.com/doc/refman/8.0/en/innodb-tablespace-autoextend-size.html
新增 temptable_max_mmap 变量
新变量定义了 TempTable 存储引擎在开始将内部临时表数据存储到 InnoDB 磁盘内部临时表之前,被允许从内存映射文件分配的最大内存量。temptable_max_mmap = 0 设置将禁用从内存映射文件的分配。
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_temptable_max_mmap
五、复制
术语替换
不推荐使用 CHANGE MASTER TO 语句,改用别名 CHANGE REPLICATION SOURCE TO。该语句的参数还具有别名,该别名用术语 SOURCE 代替术语 MASTER。例如,现在可以将 MASTER_HOST 和 MASTER_PORT 输入为 SOURCE_HOST 和 SOURCE_PORT。START REPLICA | SLAVE 语句的参数 MASTER_LOG_POS 和 MASTER_LOG_FILE 现在具有别名 SOURCE_LOG_POS 和 SOURCE_LOG_FILE。语句的工作方式与以前相同,只是每个语句使用的术语已更改。如果使用旧版本,则会发出弃用警告。
直接从禁用 GTID 的主机复制到启用 GTID 的从机
CHANGE REPLICATION SOURCE TO 语句新增选项: ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS = [OFF,LOCAL,<UUID>]
允许数据在非 GTID 实例和 GTID 实例之间传输。
https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-assign-anon.html
在 MTS 死锁检测基础结构中包含 MDL 和 ACL 锁
将提供多线程的 REPLICA 所需的线程序列化基础结构与 MDL 和 ACL 访问序列化基础结构集成在一起,该多线程 REPLICA 与 SOURCE 保持相同的提交顺序。其动机是能够在 REPLICA 主动处理变更流时在 REPLICA 上执行任何客户端语句。此类语句可能会创建死锁,必须对其进行检测,并最终将其破坏以继续执行。
组复制
异步复制通道的自动连接故障转移,将确保接收方的发送方列表与组复制成员身份更改同步。
六、X 协议
经典的 MySQL 协议,如果 SQL 查询使用元数据锁定或睡眠功能,则将定期检查与服务器的连接以验证其是否仍然有效。 如果不是,则可以停止查询,以便它不会继续消耗资源。以前,X 协议不执行这些检查,并假定连接仍然有效。现在已为 X 协议添加了检查。
从 MySQL 8.0.23 开始,服务器将通知所有客户端有关它是刚刚关闭连接还是自行关闭的信息。客户端可以使用此信息来决定重新连接是否有意义,然后重试。
七、其他
优化哈希联接的哈希表的实现。目的是提高性能,使用更少的内存并改善内存控制。
用标准 C++11 替换了部分旧的 InnoDB 代码。加强代码中使用原子性的规则和语义,从而使代码更符合标准。
八、弃用和移除
弃用 relay_log_info_repository 和 master_info_repository 。当用户设置或读取 relay_log_info_repository 或 master_info_repository 变量的值时,将出现弃用警告。未来,用于存储复制配置和元数据的唯一选项将在事务系统表中。
不赞成使用 FLUSH HOSTS 语句,而建议使用 TRUNCATE performance_schema.host_cache,并将在以后的 MySQL 版本中删除。
文章参考
MySQL 8.0.23 Release Notes:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-23.html
The MySQL 8.0.23 Maintenance Release is Generally Available
https://mysqlserverteam.com/the-mysql-8-0-23-maintenance-release-is-generally-available/
到此这篇关于MySQL 8.0.23 主要更新一览(新特征解读)的文章就介绍到这了,更多相关MySQL 8.0.23 更新内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
原文链接:https://blog.csdn.net/ActionTech/article/details/112845475
- win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法(win10下安装mysql8.0.23 及 “服务没有响应控制功能”问题解决办法)
- cent os7.0 安装mysql(mysql8.0.23 linuxcentos7安装完整超详细教程)
- mysql8.0.23.0官方安装手册(MySQL8.0.23安装超详细教程)
- mysql8.0.21的安装步骤(mysql8.0.23 msi安装超详细教程)
- mysql8.0设置root密码(MySQL8.0.23版本的root密码重置最优解法)
- centos如何安装mysql8.0版本(Centos7下安装MySQL8.0.23的步骤小白入门级别)
- mysql8.0.25.0安装配置(MySQL8.0.23免安装版配置详细教程)
- deepin数据库编程(deepin20.1系统安装MySQL8.0.23超详细的MySQL8安装教程)
- mysql8.0.23的安装步骤(mysql 8.0.22 下载安装配置方法图文教程)
- 《金陵秘事》的剧情跌宕起伏 给观众带来的怎样的感官体验(金陵秘事的剧情跌宕起伏)
- 少儿口才表达影响未来一生,50首经典绕口令和孩子玩出聪明大脑(少儿口才表达影响未来一生)
- 玩网游居然让人更友善 很难以让人置信(玩网游居然让人更友善)
- 学好汉语拼音,从娃娃绕口令抓起,平时还是要多练 收藏好(从娃娃绕口令抓起)
- 仙女们的私藏鲜法大PK 鲜香切块牛肉(仙女们的私藏鲜法大PK)
- 天热没胃口 这道菜开胃又下饭,2个小技巧新手一学就会(这道菜开胃又下饭)
热门推荐
- mysql中mergeinto的用法(MySQL中exists、in及any的基本用法)
- sql server 动态建表(SQL Server如何通过创建临时表遍历更新数据详解)
- 性能监视器中常用计数器
- react native web白屏(关于React Native 无法链接模拟器的问题)
- react怎么添加动态html(react中的DOM操作实现)
- 微信小程序function怎么使用(微信小程序在{{ }}中直接使用函数的方法示例)
- python批量转换图片格式(利用Python对文件夹下图片数据进行批量改名的代码实例)
- python 常用爬虫库(Python常用爬虫代码总结方便查询)
- SqlServer2016模糊匹配的三种方式及效率问题简析(SqlServer2016模糊匹配的三种方式及效率问题简析)
- C#中yield
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9