【备忘录】MySQL 8.3 中删除的功能

MySQL 8.3 已经发布好长一段时间了,在做版本升级或新部署时务必坚持在8.3版本已经删除的一些配置参数,少走弯路。
以下项目已过时并已在 MySQL 8.3 中删除。如果显示替代方案,则应更新应用程序以使用它们。应修改使用 MySQL 8.3 中删除的功能的应用程序以避免这些问题,并尽可能使用替代方案。

一、删除了 C API 函数

以下 MySQL C API 函数在以前的 MySQL 版本中已被弃用,现已被删除:
mysql_kill():使用 mysql_real_query()or mysql_query()来代替执行KILL语句。
mysql_list_fields(): 使用 mysql_real_query()或 mysql_query()来执行 SELECT * FROM table LIMIT 0 。(这大致相当于在使用选项启动 mysql客户端后执行该语句加上 --column-type-info 。)
mysql_list_processes():使用 mysql_real_query()or mysql_query()来代替执行SHOW PROCESSLIST 语句。
mysql_refresh():使用 mysql_real_query()or mysql_query()来代替执行FLUSH语句。
由于删除了此功能, mysqladmin flash-threads命令也被删除。
mysql_reload():使用 mysql_real_query()or mysql_query()来代替执行FLUSH PRIVILEGES 语句。
mysql_shutdown():使用 mysql_real_query()or mysql_query()来代替执行SHUTDOWN语句。
mysql_shutdown()在 MySQL 8.0 中已弃用;列出的其余函数在 MySQL 5.7.11 中已弃用。由于这些更改,MySQL C API 库版本从 22.1 提升到 23.0。

二、FLUSH HOSTS 语句。

该FLUSH HOSTS语句在 MySQL 8.0.23 中已弃用,已被删除。要清除主机缓存,请发出mysqladmin flush-hosts ,TRUNCATE TABLE 或performance_schema.host_cache

三、过时的replication 选项和变量。

许多与 MySQL replication** **相关的选项和变量在以前的 MySQL 版本中已被弃用,并已从 MySQL 8.3 中删除。现在尝试使用其中任何一个都会导致服务器引发语法错误。这些选项和变量列于此处:

  • slave-rows-search-algorithms:复制应用程序在应用更新或删除时用于查找表行的算法现在始终为HASH_SCAN,INDEX_SCAN,并且用户不再可配置。
  • log_bin_use_v1_events:这允许运行 MySQL 5.7 及更高版本的源服务器复制到不再支持或维护的早期版本的 MySQL。
  • –relay-log-info-file、 --relay-log-info-repository、 --master-info-file、 --master-info-repository:这些已经被crash-safe 表取代,并且不再受支持。
  • transaction_write_set_extraction
  • group_replication_ip_whitelist: group_replication_ip_allow list 代替使用。
  • group_replication_primary_member: 不再需要; 通过查询 Performance Schema 中replication_group_members表的MEMBER_ROLE列。
  • –skip-host-cache: 该选项已被删除;改为启动服务器 --host-cache-size=0。
  • –innodb和–skip-innodb: 这些选项已被删除。存储 InnoDB引擎始终处于启用状态,并且无法禁用它。
  • –character-set-client-handshake和–old-style-user-limits: 这些选项以前用于与非常旧的 MySQL 版本兼容,这些版本不再受支持或维护,因此不再有任何有用的用途。
  • 过时的 CMake 选项。 以下用于使用 CMake 编译服务器的选项已过时并已被删除:
    • USE_LD_LLD: 使用WITH_LD=lld代替。
    • WITH_BOOST、 DOWNLOAD_BOOST、 DOWNLOAD_BOOST_TIMEOUT:不再需要这些选项; MySQL 现在在从源代码编译时包含并使用捆绑版本的 Boost。
  • GTID-based replication 和 IGNORE_SERVER_IDS: 当使用全局事务标识符 (GTID) 进行复制时,已应用的事务将被自动忽略。这意味着IGNORE_SERVER_IDS与 GTID 模式不兼容。如果 gtid_mode是 ON,CHANGE REPLICATION SOURCE TO则非空 IGNORE_SERVER_IDS列表将被拒绝并出现错误。同样,如果使用要忽略的服务器 ID 列表创建任何现有复制通道, SET gtid_mode=ON也会被拒绝。在开始基于 GTID 的复制之前,检查并清除所涉及服务器上任何被忽略的服务器 ID 列表;您可以通过检查SHOW REPLICA STATUS的输出来做到这一点 。在这种情况下,您可以通过发出CHANGE REPLICATION SOURCE TO 空列表来清除服务器 ID 列表 ,如下所示:
CHANGE REPLICATION SOURCE TO IGNORE_SERVER_IDS = ();
  • 二进制日志事务依赖性跟踪和日志记录格式。
    使用写入集信息进行冲突检测已被发现会导致依赖性跟踪问题;因此,我们现在将冲突检查的写入集的使用限制为基于行的日志记录生效时。这意味着,从此版本开始,如果binlog_transaction_dependency_tracking设置为WRITESET或WRITESET_SESSION, 则binlog_format必须为ROW;MIXED在这种情况下不再受支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值