MySQL 8.4: 突破创新,全新特性揭秘

打印 上一主题 下一主题

主题 829|帖子 829|积分 2487


      MySQL最新发布的MySQL8.4LTS,"LTS" 代表 "Long-Term Support"(长期支持),是软件行业常用的术语之一。在软件开辟中,LTS 版本是指那些经过特别维护并提供长期支持的版本。通常,LTS 版本会得到更长时间的更新和安全补丁支持,以确保它们能够在较长的时间内保持稳固和可靠。
        对于 MySQL 来说,发布 LTS 版本意味着这个版本将会得到更长时间的维护和支持,以满意用户的需求。MySQL 8.4 是 MySQL 的第一个 LTS 版本,意味着它将得到更长时间的更新和安全补丁支持,以及可能的修复和改进,为用户提供更稳固和可靠的数据库服务。LTS 版本的发布通常会吸引更多企业级用户,因为他们更倾向于使用长期支持版本来确保体系的稳固性和可靠性。
  MySQL 本机暗码身份验证更改
  开启:
  从 MySQL 8.4.0 开始,已弃用的身份验证,默认情况下,插件不再启用。要启用它,需要再启动时添加--mysql-native-password=ON,或在设置文件添加
  1. [mysqld]
  2. mysql_native_passwordmysql_native_password=ON
复制代码
禁用:
  再启动时不添加--mysql-native-password参数,或在设置文件添加
  1. [mysqld]
  2. mysql_native_passwordmysql_native_password=OFF
复制代码
InnoDB 体系变量默认值更改
  innodb_buffer_pool_in_core_file
  
MySQL 8.4
MySQL 8.0
OFF  如果支持, 否则MADV_DONTDUMPON
ON
  innodb_buffer_pool_instances
  
MySQL 8.4
如果innodb_buffer_pool_size <= 1 GiB,则 innodb_buffer_pool_instances=1
如果innodb_buffer_pool_size > 1 GiB,则这是 以下两个计算的提示在 1-64 范围内:
缓冲池提示:按 1/2 计算 (innodb_buffer_pool_size / innodb_buffer_pool_chunk_size)
CPU 提示:按 1/4 的数量计算 可用的逻辑处置惩罚器
  
MySQL 8.0
8 个(如果innodb_buffer_pool_size则为 1 个< 1 GiB)
  innodb_change_buffering
  
MySQL 8.4
MySQL 8.0
none   表现不缓存这些修改操作
all    表现innodb_change_buffering会缓存插入、删除标志操作和背景发生的物理删除操作。
  innodb_dedicated_server
  
MySQL 8.4
MySQL 8.0
如果 [a],则 innodb_flush_method 的值为 不再像 MySQL 8.0 那样更改,而是计算 的 innodb_redo_log_capacity 从基于内存更改为基于 CPU。查看更多 信息,请拜见第 17.8.12 节 “为专用 MySQL 服务器启用自动设置”。ON
OFF
  innodb_adaptive_hash_index
  
MySQL 8.4
MySQL 8.0
OFF   控制是否启用自顺应哈希索引
ON
  innodb_doublewrite_files
  
MySQL 8.4
MySQL 8.0
2
innodb_buffer_pool_instances*2
  innodb_doublewrite_pages
  
MySQL 8.4
MySQL 8.0
128
innodb_write_io_threads,这意味着一个 默认值为 4
  innodb_flush_method
  
MySQL 8.4
MySQL 8.0
O_DIRECT如果支持,否则fsync
fsync
  innodb_io_capacity
  
MySQL 8.4
MySQL 8.0
10000    限制 InnoDB 数据库实例对磁盘的 I/O 本领,现在一般都是SSD的磁盘
200
  innodb_io_capacity_max
  
MySQL 8.4
MySQL 8.0
2 * innodb_io_capacity
2 * innodb_io_capacity,最小 默认值为 2000
  innodb_log_buffer_size
  
MySQL 8.4
MySQL 8.0
67108864 (64 MiB)
16777216 (16 MiB)
  innodb_numa_interleave
  
MySQL 8.4
MySQL 8.0
ON    控制 InnoDB 存储引擎在 NUMA 架构下的内存分配方式
OFF
  innodb_page_cleaners
  
MySQL 8.4
MySQL 8.0
innodb_buffer_pool_instances
4
  innodb_parallel_read_threads
  
MySQL 8.4
MySQL 8.0
可用的逻辑处置惩罚器 / 8,最小默认值为 4
4
  innodb_purge_threads
  
MySQL 8.4
MySQL 8.0
如果可用的逻辑处置惩罚器为 <= 16,则为 1,否则为 4
4
  innodb_read_io_threads
  
MySQL 8.4
MySQL 8.0
可用的逻辑处置惩罚器 / 2,最小默认值为 4
4
  innodb_use_fdatasync
  
MySQL 8.4
MySQL 8.0
ON   控制了 InnoDB 存储引擎在提交事务时是否使用 fdatasync() 函数来确保数据持久化到磁盘上
OFF
  temptable_max_ram
  
MySQL 8.4
MySQL 8.0
总内存的 3%,默认值在 1-4 GiB 范围内
1 GiB
  temptable_max_mmap
  
MySQL 8.4
MySQL 8.0
0,表现OFF,用于控制 MySQL 临时表(Temporary Table)的内存映射操作的最大限制
1 GiB
  temptable_use_mmap
  
MySQL 8.4
MySQL 8.0
OFF
ON
  克隆插件
  放宽了克隆插件版本控制要求,允许克隆 在同一系列中的不同点版本之间。
  例如,克隆功能现在允许克隆 8.4.0 到 8.4.14,反之亦然。
  MySQL 复制:标志 GTID
  

  • GTID 是 MySQL 复制中用于标识全局唯一事务的一种机制,它可以跨多个服务器节点确保事务的唯一性和同等性。
  • 在介绍中提到的新的 GTID 格式包含了 TAG,这是一个最多 8 个字符的字符串,用于在特定组中唯一标识事务。通过设置 gtid_next 体系变量的值,可以启用这种新的 GTID 格式。在新格式下,每个事务都会自动分配一个唯一的 TAG,这个 TAG 在事务提交时或在组复制中举行认证时被应用。
  • GTID 的原始格式仍然保持不变,可以继续在不需要使用 GTID 的复制设置中使用。这个格式包含了 UUID 和 NUMBER
  • SET @gtid_next=AUTOMATIC:TAGUUID:TAG:NUMBER 这个示例演示了如何使用新的 GTID 格式,此中 AUTOMATIC:TAGUUID:TAG:NUMBER 表现了新的 GTID 值
  Mysqldump向后兼容
  该版本为 mysqldump 添加了 --output-as-version 选项
  此选项 允许您从 MySQL 8.2 或更高版本创建转储 与旧版本MySQL兼容; 它的值决定了 转储中使用的复制的兼容性:
  

  • SERVER:获取 服务器并使用最新版本的复制 与该MySQL兼容的语句和变量名 版本。
  • BEFORE_8_2_0:输出兼容 使用运行版本 8.0.23 至 8.1.0(含)。
  • BEFORE_8_0_23:输出兼容 MySQL 服务器运行 8.0.23 之前的版本。
  组复制
  group_replication_set_as_primary
  选举新主节点前,会等待正在举行的 DDL 语句完成。
  group_replication_consistency
  体系变量的默认值在 MySQL 8.4.0 中已更改为 EVENTUAL。在此之前,默认值是 BEFORE_ON_PRIMARY_FAILOVER。这个变量用于设置组复制的同等性保证级别,决定了在什么情况下事务在组中的副本之间达到同等性。更改后的默认值表现事务在组内的复制延迟可能导致同等性差别,但是在某些情况下可以进步性能。
  group_replication_exit_state_action
  体系变量的默认值在 MySQL 8.4.0 中已更改为 READ_ONLY。在此之前,默认值是 OFFLINE_MODE。这个变量用于设置组复制节点在退出组时的活动。更改后的默认值表现节点在退出组时会被设置为只读模式,以避免数据的写入操作。
  FLUSH_PRIVILEGES特权
  MySQL 8.4.0 中添加了一个新权限,专门用于 允许使用 FLUSH PRIVILEGES 语句。与 RELOAD 权限不同,FLUSH_PRIVILEGES 权限 仅适用于语句。FLUSH PRIVILEGES
  OPTIMIZE_LOCAL_TABLE特权
  MySQL 8.4.0 添加了新的OPTIMIZE_LOCAL_TABLE权限。用户必须具有此权限才气实行 OPTIMIZE 本地表和优化 NO_WRITE_TO_BINLOG TABLE 语句
  参加数据库技术交换群:
  

  进群福利:
  1、知识共享与学习机会
  2、问题求助与解决支持
  3、技术沉淀和分享平台
  4、实时了解行业动态

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表