MySQL 8.4 LTS的新特性:关键增强功能解析

MySQL 8.4 LTS的新特性:关键增强功能解析

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

MySQL 8.4是长期支持版本,带来了默认认证方法更新、复制术语更改和外键约束严格化等重要变化,提升了性能和安全性。建议用户在升级前进行充分测试。

🎯

关键要点

  • MySQL 8.4是长期支持版本,发布于2024年4月。

  • MySQL 8.4的默认认证方法为caching_sha2_password,mysql_native_password默认禁用。

  • 复制术语从MASTER/SLAVE更改为SOURCE/REPLICA,以符合现代标准。

  • 外键约束要求父表中引用列必须是唯一键,以加强关系完整性。

  • AUTO_INCREMENT在FLOAT或DOUBLE类型中被完全移除,使用会导致错误。

  • FLUSH HOSTS语句在8.4中被移除,建议使用TRUNCATE TABLE performance_schema.host_cache。

  • SET_USER_ID权限更改为SET_ANY_DEFINER和ALLOW_NONEXISTENT_DEFINER,以增强安全性。

  • innodb_buffer_pool_in_core_file默认值从ON改为OFF,以减少核心文件大小。

  • innodb_change_buffering默认值从all改为none,可能加快写入速度。

  • innodb_adaptive_hash_index默认值从ON改为OFF,需根据工作负载动态调整。

  • innodb_doublewrite_pages的默认值固定为128,以提供可预测的双写行为。

  • innodb_flush_method默认值从fsync改为O_DIRECT,以减少操作系统缓存。

  • innodb_io_capacity的默认值从200提高到10000,以反映现代硬件能力。

  • innodb_log_buffer_size的默认值从16 MB增加到64 MB,以提高性能。

  • temptable_max_ram的默认值动态调整为总内存的3%,以平衡性能和稳定性。

  • 自动直方图更新功能在8.4中得到支持,提升查询优化。

  • SOURCE_RETRY_COUNT的默认值从60减少到10,以缩短故障转移/重连等待时间。

  • GTID标签在8.4中允许对事务组进行标记,以改善复制事务的跟踪和审计。

  • Innodb_purge_threads的默认值根据可用逻辑处理器数量自动优化。

  • MySQL 8.4在功能、可用性、性能和安全性方面都有显著提升,建议用户在升级前进行充分测试。

🔎

延伸解读

认证方法的变化

MySQL 8.4将默认认证方法更改为caching_sha2_password,并禁用mysql_native_password。这一变化意味着依赖旧认证方法的用户需要尽快迁移,以避免在未来版本中遇到兼容性问题。

复制术语的现代化

MySQL 8.4将复制术语从MASTER/SLAVE更改为SOURCE/REPLICA,这不仅符合现代标准,还提升了术语的包容性。用户在进行数据库管理时,需注意这一变化以确保团队成员之间的沟通顺畅。

外键约束的严格化

在MySQL 8.4中,外键约束要求父表中引用列必须是唯一键。这一变化加强了数据的完整性,用户在升级前应检查现有数据库结构,确保符合新要求,以避免升级后出现错误。

性能优化的新特性

MySQL 8.4引入了多项性能优化,如innodb_io_capacity的默认值提升至10000,反映了现代硬件的能力。用户应根据自身的工作负载,评估这些新特性对性能的影响,并进行相应的调整。

延伸问答

MySQL 8.4的默认认证方法是什么?

MySQL 8.4的默认认证方法是caching_sha2_password,mysql_native_password默认禁用。

MySQL 8.4中复制术语有什么变化?

MySQL 8.4将复制术语从MASTER/SLAVE更改为SOURCE/REPLICA,以符合现代标准。

MySQL 8.4对外键约束有什么新要求?

MySQL 8.4要求父表中引用列必须是唯一键,以加强关系完整性。

MySQL 8.4中AUTO_INCREMENT的使用有什么变化?

在MySQL 8.4中,AUTO_INCREMENT在FLOAT或DOUBLE类型中被完全移除,使用会导致错误。

MySQL 8.4的innodb_io_capacity默认值是多少?

MySQL 8.4中innodb_io_capacity的默认值从200提高到10000,以反映现代硬件能力。

升级到MySQL 8.4前需要注意什么?

建议用户在升级前进行充分测试,以识别潜在问题和性能影响。

🏷️

标签

➡️

继续阅读