MySQL · 8.0新变化 · 那些消失的parameter, feature, etc...

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介:

本文搜集了MySQL8.0的第一个版本中移除的参数和特性,随后版本如有新的变化,会在本文基础上进行更新。

注意有些是在8.0目前被设置为deprecated状态,有些是在5.7及之前版本已经设置为deprecated,但在8.0中彻底将相关代码移除。

MySQL8.0.0

WL#7704: InnoDB: Remove deprecated file format parameters in 8.0

支持配置file-format的目的是为了兼容早期的老版本,在8.0之前的版本中,主要支持两种文件格式:

  1. Antelope: 对应的行格式为COMPACT及REDUNDANT行格式
  2. Barracuda:新的文件格式,对应行格式为COMPRESSED及DYNAMIC

由于早期版本已经过了长期维护期限,旧的文件格式在8.0不在维护,移除这些老的代码有助于让代码结构更加清晰。

移除file_format相关的几个参数:

    innodb_file_format
    innodb_file_format_check
    innodb_file_format_max
    innodb_large_prefix

在INFORMATION_SCHEMA中和file-format相关的列被移除:

innodb_sys_tablespaces
innodb_sys_tables

这个commit之后,大量的代码被清除掉,看起来清晰多了。。。

WL#8157: Remove deprecated GIS functions

移除一些GIS相关的旧函数,新的函数使用ST_xxx代替,总共移除了67个函数,包括对应的test case

     Area AsBinary AsText AsWKB AsWKT
     Buffer
     Centroid Contains ConvexHull Crosses
     Dimension Disjoint Distance
     EndPoint Envelope Equals ExteriorRing
     GeomCollFromText GeomCollFromWKB GeometryCollectionFromText  
     GeometryCollectionFromWKB GeometryFromText GeometryFromWKB
     GeomFromText GeomFromWKB GeometryN GeometryType GLength
     InteriorRingN Intersects IsClosed IsEmpty IsSimple
     LineFromText LineFromWKB LineStringFromText LineStringFromWKB
     MBREqual MLineFromText MLineFromWKB MPointFromText
     MPointFromWKB MPolyFromText MPolyFromWKB MultiLineStringFromText
     MultiLineStringFromWKB MultiPointFromText MultiPointFromWKB
     MultiPolygonFromText MultiPolygonFromWKB
     NumGeometries NumInteriorRings NumPoints
     Overlaps
     PointFromText PointFromWKB PointN PolyFromText PolyFromWKB
     PolygonFromText PolygonFromWKB
     SRID StartPoint
     Touches
     Within
     X
     Y

WL#8927: Deprecate mysql_plugin in 5.7 and remove in 8.0

没用过这玩意儿, 从文档来看mysql_plugin主要是提供了一个管理plugin的接口,可以配置哪些plugin被载入到实例(文档)看起来使用的人很少,没必要留着了。

WL#8843: Deprecate and remove the parameter innodb_support_xa

移除参数innodb_support_xa; 原因是这个参数的功能已经无效了,一方面是当设置为OFF时,PREPARE的事务只能回滚,没办法让其提交;另外一方面是需要保证Binlog/Engine的崩溃恢复一致性。

移除该参数后,默认XA就是开启的。

WL#8893: InnoDB: Remove the deprecated parameter innodb_checksums

没啥好说的,5.6就设置为deprecated variable了,改名为innodb_checksum_algorithm,是时候把相关代码彻底移除了。

WL#8894: InnoDB: Remove deprecated parameter innodb_locks_unsafe_for_binlog

同上,5.6已经deprecated, 8.0彻底移除代码, (该参数的说明文档,不过话说正常情况下,应该也没人会去设置这玩意儿吧。)

WL#8903: InnoDB: Remove deprecated parameter innodb_stats_sample_pages

移除参数innodb_stats_sample_pages,新的参数名为innodb_stats_transient_sample_pages(内存更新采样的page数),及innodb_stats_persistent_sample_pages(持久化统计信息采样page数)

WL#9071: Remove mysql_install_db and server --bootstrap option

mysql_install_db被移除
mysqld的bootstrap参数也删掉了,以后安装实例需要使用mysqld --initialize

WL#8971: Deprecate and remove partitioning storage engine

移除ha_partition分区引擎

分区引擎实际上是建立在真正的存储引擎之上的,在5.7版本里,分区表各个分区的handler已经下推到引擎层(InnoDB native partition table

之后需要引擎本身支持Native Partition,例如目前myisam不支持native partition,就会报错:

mysql> CREATE TABLE t1 (a int not null primary key, b int) engine=myisam partition by hash(a) partitions 4;
ERROR 1178 (42000): The storage engine for the table doesn't support native partitioning
mysql> CREATE TABLE t1 (a int not null primary key, b int) engine=innodb partition by hash(a) partitions 4;
Query OK, 0 rows affected (0.01 sec)

WL#9014: Deprecate and remove mysql_shutdown()

删除C API的mysql_shutdown接口, 删除Command类型COM_SHUTDOWN

WL#9091: Remove --ssl, --ssl-verify-server-cert client-side options

删除--ssl及--ssl-verify-server-cert选项,以后请使用WL#8785实现的--ssl-mode选项

WL#9218: Remove deprecated LOAD DATA events from replication code

LOAD DATA语句以statement记录时产生的一些事件类型,如LOAD_EVENT, CREATE_FILE_EVENT, EXEC_LOAD_EVENT,NEW_LOAD_EVENT在5.0版本已经deprecated了,8.0全部删除掉,反正5.0已经不在官方支持范围了。。。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
canal 消息中间件 存储
手把手告诉你如何监听 MySQL binlog 实现数据变化后的实时通知!
Hello 大家好,我是阿粉。不知道大家在日常的工作中有没有遇到这样的场景,很多时候业务数据有变更需要及时加载到缓存、ES 或者发送到消息队列中通知下游服务。
4746 0
手把手告诉你如何监听 MySQL binlog 实现数据变化后的实时通知!
|
12月前
|
XML 关系型数据库 MySQL
【MySQL异常】ExecutorException: Error getting generated key or setting result to parameter object
【MySQL异常】ExecutorException: Error getting generated key or setting result to parameter object
309 0
|
3月前
|
关系型数据库 MySQL Linux
Docker安装mysql详细教程, mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘(报错已解决)
Docker安装mysql详细教程, mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory) 已解决
|
3月前
|
存储 缓存 关系型数据库
Mysql/etc/my.cnf参数详解
以上只是 `/etc/my.cnf`中的部分参数,实际上,`/etc/my.cnf`中的参数非常多,可以根据具体的应用需求进行调整。
40 0
|
3月前
|
关系型数据库 MySQL 数据库
MybatisPlus添加数据数据库没有数据,数据消失,使用Navicate看不到数据,Navicate中Mysql的数据与idea的数据不一定同步,Navicate与idea的数据库同步,其实有分页
MybatisPlus添加数据数据库没有数据,数据消失,使用Navicate看不到数据,Navicate中Mysql的数据与idea的数据不一定同步,Navicate与idea的数据库同步,其实有分页
|
5月前
|
关系型数据库 MySQL
启动mysql时报错"/etc/init.d/mysqld: Permission denied"
请谨慎操作,并根据你的具体情况选择适当的解决方法。如果问题仍然存在,你可能需要查看MySQL的文档或寻求进一步的支持。
279 1
|
安全 关系型数据库 MySQL
mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘ (Errcode: 13 - Permission denied)
mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘ (Errcode: 13 - Permission denied)
631 2
|
存储 缓存 关系型数据库
《PolarDB for PostgreSQL源码与应用实战》——PolarDB-PostgreSQL开源核心Feature介绍(1)
《PolarDB for PostgreSQL源码与应用实战》——PolarDB-PostgreSQL开源核心Feature介绍(1)
356 0
|
存储 SQL 算法
《PolarDB for PostgreSQL源码与应用实战》——PolarDB-PostgreSQL开源核心Feature介绍(2)
《PolarDB for PostgreSQL源码与应用实战》——PolarDB-PostgreSQL开源核心Feature介绍(2)
287 0
|
算法 关系型数据库 分布式数据库
《PolarDB for PostgreSQL源码与应用实战》——PolarDB-PostgreSQL开源核心Feature介绍(3)
《PolarDB for PostgreSQL源码与应用实战》——PolarDB-PostgreSQL开源核心Feature介绍(3)
194 0

相关产品

  • 云数据库 RDS MySQL 版
  • 下一篇
    无影云桌面