MySQL 8.0 中弃用了哪些功能?

mysqlmysqli database

一些已弃用的功能可能会在即将推出的 MySQL 版本中删除。如果应用程序使用该特定版本中已弃用的功能,则应修改该功能并尽可能使用替代方案。

让我们简要了解一下 MySQL 8.0 中已弃用的功能:

  • ‘utf8mb3’ 字符集已弃用,请改用‘utf8mb4’。
  • ‘sha256_password’ 密码验证已弃用,可能会在未来的更新中删除。请改用‘caching_sha2_password’。
  • 对‘validate_password’进行了一些实现更改插件,可能会在未来版本中删除。使用此插件时请确保组件基础结构也在使用中。
  • 已弃用对列类型"FLOAT"和"DOUBLE"的"AUTO_INCREMENT"支持。已弃用对列类型"FLOAT"、"DOUBLE"和"DECIMAL"的"UNSIGNED"支持。
  • 已弃用数字数据的"ZEROFILL"属性,可以使用"LPAD"方法代替。
  • 除非 SQL 模式"PIPES AS CONCAT"已启用。
  • ‘JSON_MERGE’ 已弃用,请改用‘JSON_MERGE_PRESERVE()’。
  • 使用‘SELECT’语句时,可以在 FROM 之后使用 INTO 子句,但在‘SELECT’末尾使用该子句已被弃用。
  • ‘FLUSH HOSTS’ 功能已弃用。请改用截断 Performance Schema host_cache 表。如下所示-
TRUNCATE TABLE performance_schema.host_cache;

注意:TRUNCATE TABLE 操作需要‘DROP’相应表的权限。

  • ‘mysql_upgrade’客户端已被弃用,因为它升级mysql系统架构中的系统表和其他架构中的对象的能力已移至MySQL服务器。
  • InnoDB memcached插件已被弃用,它可能会在即将发布的MySQL版本中被删除。 
  • 用于创建数据目录的‘mysql_upgrade_info’文件用于存储MySQL版本号,已被弃用。它可能会在未来的MySQL版本中被删除。
  • ‘relay_log_info_file’系统变量和‘--master-info-file’选项已被弃用。

相关文章