MySQL 8.0 中弃用了哪些功能?
MySQL 8.0 是目前较新的 MySQL 版本,它在多方面进行了升级和改进。同时,也有一些功能被弃用或者移除了。本文将重点讨论 MySQL 8.0 中弃用了哪些功能以及它们的影响。
1. 安全性相关的弃用
1.1 PASSWORD() 函数
MySQL 8.0 弃用了 PASSWORD() 函数,这个函数在之前的版本中用来加密口令。在 MySQL 5.7 和更早的版本中,使用这个函数来存储和验证口令是一种通用的做法。然而,这种方法现在已经被视为不安全的。相比之下,使用更安全的口令加密算法,如 SHA256 或 SHA512,被认为更好。
现在,建议使用更安全的口令加密算法,如 SHA256 或 SHA512。
1.2 mysql_native_password 加密插件
mysql_native_password 加密插件是在早期版本中使用的一种加密插件,它现在被弃用了。MySQL 8.0 推荐使用 caching_sha2_password 插件,它使用更安全的 SHA-256 或 SHA-512 加密算法来保护登录凭据。
在 MySQL 8.0 中不建议使用 mysql_native_password 加密插件,建议使用更安全的 caching_sha2_password 插件。
2. 存储引擎相关的弃用
2.1 MyISAM 存储引擎
MyISAM 存储引擎在 MySQL 8.0 中被弃用了。这个存储引擎是 MySQL 最古老的一种,它提供了较好的读性能,但写性能较差,同时缺乏事务支持。相比之下,InnoDB 是 MySQL 官方推荐的存储引擎,它具有更好的性能和可靠性。
在 MySQL 8.0 中不建议使用 MyISAM 存储引擎,建议使用官方推荐的 InnoDB 存储引擎。
2.2 ndbcluster 存储引擎
ndbcluster 存储引擎也在 MySQL 8.0 中被弃用了。这个存储引擎是 MySQL 中唯一一种支持分布式计算的存储引擎,但它的复制和恢复机制比较复杂,操作不太灵活,维护难度较大。
在 MySQL 8.0 中不建议使用 ndbcluster 存储引擎,建议使用其他更能满足需求的存储引擎。
3. 其他弃用
3.1 Partitioning by KEY
MySQL 8.0 弃用了 Partitioning by KEY 功能,这个功能可以通过键值对表中的数据进行分区。这个功能在之前的版本中比较流行,但现在已经被视为不稳定。
在 MySQL 8.0 中不建议使用 Partitioning by KEY,建议使用更稳定的分区方式。
3.2 索引类型
MySQL 8.0 弃用了一些不常用的索引类型,如 FULLTEXT WITH PARSER、SPATIAL 和 EXAMPLE。这些索引类型的使用频率相对较低,因此被视为不必要的负担。
在 MySQL 8.0 中不建议使用 FULLTEXT WITH PARSER、SPATIAL 和 EXAMPLE,建议使用常用的索引类型。
综上所述,MySQL 8.0 中弃用了一些不安全、不稳定或者不太常用的功能。在使用这个版本的 MySQL 时,需要留意这些功能的弃用情况,并且遵循新版本中的最佳实践。