MySQL 8.0中移除的功能(二)

  • PROCEDURE ANALYSE()​ 语法已被移除。
  • 客户端的 ​--ssl​ 和 ​--ssl-verify-server-cert​ 选项已被移除。使用 ​--ssl-mode=REQUIRED​ 代替 ​--ssl=1​ 或 ​--enable-ssl​。使用 ​--ssl-mode=DISABLED​ 代替 ​--ssl=0​、​--skip-ssl​ 或 ​--disable-ssl​。使用 ​--ssl-mode=VERIFY_IDENTITY​ 代替 ​--ssl-verify-server-cert​ 选项。(服务器端的 ​--ssl​ 选项仍然可用,但从 MySQL 8.0.26 版本开始已被弃用,并将在未来的 MySQL 版本中删除。)
  • 对于 C API,​mysql_options()​ 的 ​MYSQL_OPT_SSL_ENFORCE​ 和 ​MYSQL_OPT_SSL_VERIFY_SERVER_CERT​ 选项对应于客户端的 ​--ssl​ 和 ​--ssl-verify-server-cert​ 选项,并已被移除。请改用带有选项值 ​SSL_MODE_REQUIRED​ 或 ​SSL_MODE_VERIFY_IDENTITY​ 的 ​MYSQL_OPT_SSL_MODE​。
  • --temp-pool​ 服务器选项已被移除。
  • ignore_builtin_innodb​ 系统变量已被移除。
  •  服务器不再对包含特殊字符的早于 MySQL 5.1 的数据库名称执行转换,以在其前面添加 ​#mysql50#​ 前缀来符合 5.1 格式。由于不再执行这些转换,因此移除了 mysqlcheck 的 ​--fix-db-names​ 和 ​--fix-table-names​ 选项,ALTER DATABASE 语句的 ​UPGRADE DATA DIRECTORY NAME​ 子句以及 Com_alter_db_upgrade 状态变量。

    升级仅支持从一个主要版本到另一个(例如,从 5.0 到 5.1,或从 5.1 到 5.5),因此几乎没有剩余的需要将旧的5.0数据库名称转换为当前MySQL版本。作为解决方法,请先将 MySQL 5.0 安装升级到 MySQL 5.1,然后再升级到更高版本的发布版。

  • MySQL发行版中移除了mysql_install_db程序。现在应该通过使用 ​mysqld​并添加 ​--initialize​或 ​--initialize-insecure​选项来进行数据目录初始化。此外,​mysqld​的 ​--bootstrap​选项(先前由mysql_install_db使用)也已被移除,以及控制mysql_install_db安装位置的INSTALL_SCRIPTDIR CMake选项也已被删除。

  • MySQL服务器中移除了通用分区处理程序(generic partitioning handler)。为了支持给定表的分区,现在用于该表的存储引擎必须提供自己的(“本地”)分区处理程序。MySQL 服务器中的 ​--partition​ 和 ​--skip-partition​ 选项被移除,并且分区相关的条目不再显示在 ​SHOW PLUGINS​ 的输出或信息模式下的 PLUGINS 表中。

    目前,两个 MySQL 存储引擎提供本地分区支持:InnoDB 和 NDB。其中,仅在 MySQL 8.0 中支持 InnoDB。在 MySQL 8.0 中使用其他存储引擎尝试创建分区表将会失败。

  • 当升级MySQL服务器从MySQL 5.7(或更早版本)到MySQL 8.0时,不支持直接升级使用除InnoDB之外的存储引擎(如MyISAM)的分区表。有两种处理这种情况的选项:

    - 使用 ALTER TABLE ... REMOVE PARTITIONING 命令删除表的分区。
    - 使用 ALTER TABLE ... ENGINE=INNODB 命令将表使用的存储引擎改为InnoDB。

    在升级服务器到MySQL 8.0之前,必须对每个分区非InnoDB表执行上面列出的两个操作中的至少一个。否则,在升级后无法使用这样的表。

    由于创建语句会导致使用不支持分区的存储引擎进行分区表的现在会因为错误(ER_CHECK_NOT_IMPLEMENTED)而失败,因此您必须确保导入到MySQL 8.0服务器的任何旧版本MySQL生成的转储文件(例如mysqldump)中的语句不要指定像MyISAM这样没有本地分区处理程序的存储引擎。可以通过执行以下任一操作来实现:

    - 从使用了STORAGE ENGINE选项值为InnoDB以外值的CREATE TABLE语句中移除任何与分区相关的引用。
    - 将存储引擎指定为InnoDB,或者允许默认情况下使用InnoDB作为表的存储引擎。

  • 在MySQL 8.0中,不再在INFORMATION_SCHEMA中维护系统和状态变量信息。以下表已被删除:GLOBAL_VARIABLES、SESSION_VARIABLES、GLOBAL_STATUS和SESSION_STATUS。请改为使用相应的Performance Schema表。另外,show_compatibility_56系统变量也已被移除。它在将系统和状态变量信息从INFORMATION_SCHEMA表迁移到Performance Schema表的过渡期间使用,现在不再需要。以下状态变量已被移除:Slave_heartbeat_period、Slave_last_heartbeat、Slave_received_heartbeats、Slave_retried_transactions和Slave_running。它们提供的信息可以在Performance Schema表中找到。

  • 在MySQL 8.0中,已经移除了Performance Schema的setup_timers表和performance_timers表中的TICK行。

  • 在MySQL 8.0中,已经移除了libmysqld嵌入式服务器库,以及以下内容:
    • mysql_options()中的MYSQL_OPT_GUESS_CONNECTION、MYSQL_OPT_USE_EMBEDDED_CONNECTION、MYSQL_OPT_USE_REMOTE_CONNECTION和MYSQL_SET_CLIENT_IP选项。
    • mysql_config中的 --libmysqld-libs、--embedded-libs 和 --embedded 选项。
    • CMake中的WITH_EMBEDDED_SERVER、WITH_EMBEDDED_SHARED_LIBRARY和INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR选项。
    • mysql命令中的(未记录的)--server-arg选项。
    • mysqltest命令中的 --embedded-server、--server-arg 和 --server-file选项。
    • mysqltest_embedded和mysql_client_test_embedded测试程序。

  • 在MySQL 8.0中,已经移除了mysql_plugin实用程序。替代方法包括在服务器启动时使用--plugin-load或--plugin-load-add选项加载插件,或在运行时使用INSTALL PLUGIN语句加载插件。

  • 在MySQL 8.0中,已经移除了resolveip实用程序。可以使用nslookup、host或dig等工具进行替代。

  • 在MySQL 8.0中,已经移除了resolve_stack_dump实用程序。来自官方MySQL构建的堆栈跟踪总是有符号化的,所以不需要使用resolve_stack_dump了。

  • 以下服务器错误代码已被删除,并不再使用。测试特定的这些错误的应用程序应该进行更新。
ER_BINLOG_READ_EVENT_CHECKSUM_FAILURE
ER_BINLOG_ROW_RBR_TO_SBR
ER_BINLOG_ROW_WRONG_TABLE_DEF
ER_CANT_ACTIVATE_LOG
ER_CANT_CHANGE_GTID_NEXT_IN_TRANSACTION
ER_CANT_CREATE_FEDERATED_TABLE
ER_CANT_CREATE_SROUTINE
ER_CANT_DELETE_FILE
ER_CANT_GET_WD
ER_CANT_SET_GTID_PURGED_WHEN_GTID_MODE_IS_OFF
ER_CANT_SET_WD
ER_CANT_WRITE_LOCK_LOG_TABLE
ER_CREATE_DB_WITH_READ_LOCK
ER_CYCLIC_REFERENCE
ER_DB_DROP_DELETE
ER_DELAYED_NOT_SUPPORTED
ER_DIFF_GROUPS_PROC
ER_DISK_FULL
ER_DROP_DB_WITH_READ_LOCK
ER_DROP_USER
ER_DUMP_NOT_IMPLEMENTED
ER_ERROR_DURING_CHECKPOINT
ER_ERROR_ON_CLOSE
ER_EVENTS_DB_ERROR
ER_EVENT_CANNOT_DELETE
ER_EVENT_CANT_ALTER
ER_EVENT_COMPILE_ERROR
ER_EVENT_DATA_TOO_LONG
ER_EVENT_DROP_FAILED
ER_EVENT_MODIFY_QUEUE_ERROR
ER_EVENT_NEITHER_M_EXPR_NOR_M_AT
ER_EVENT_OPEN_TABLE_FAILED
ER_EVENT_STORE_FAILED
ER_EXEC_STMT_WITH_OPEN_CURSOR
ER_FAILED_ROUTINE_BREAK_BINLOG
ER_FLUSH_MASTER_BINLOG_CLOSED
ER_FORM_NOT_FOUND
ER_FOUND_GTID_EVENT_WHEN_GTID_MODE_IS_OFF__UNUSED
ER_FRM_UNKNOWN_TYPE
ER_GOT_SIGNAL
ER_GRANT_PLUGIN_USER_EXISTS
ER_GTID_MODE_REQUIRES_BINLOG
ER_GTID_NEXT_IS_NOT_IN_GTID_NEXT_LIST
ER_HASHCHK
ER_INDEX_REBUILD
ER_INNODB_NO_FT_USES_PARSER
ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR
ER_LOAD_DATA_INVALID_COLUMN_UNUSED
ER_LOGGING_PROHIBIT_CHANGING_OF
ER_MALFORMED_DEFINER
ER_MASTER_KEY_ROTATION_ERROR_BY_SE
ER_NDB_CANT_SWITCH_BINLOG_FORMAT
ER_NEVER_USED
ER_NISAMCHK
ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR
ER_NO_FILE_MAPPING
ER_NO_GROUP_FOR_PROC
ER_NO_RAID_COMPILED
ER_NO_SUCH_KEY_VALUE
ER_NO_SUCH_PARTITION__UNUSED
ER_OBSOLETE_CANNOT_LOAD_FROM_TABLE
ER_OBSOLETE_COL_COUNT_DOESNT_MATCH_CORRUPTED
ER_ORDER_WITH_PROC
ER_PARTITION_SUBPARTITION_ERROR
ER_PARTITION_SUBPART_MIX_ERROR
ER_PART_STATE_ERROR
ER_PASSWD_LENGTH
ER_QUERY_ON_MASTER
ER_RBR_NOT_AVAILABLE
ER_SKIPPING_LOGGED_TRANSACTION
ER_SLAVE_CHANNEL_DELETE
ER_SLAVE_MULTIPLE_CHANNELS_HOST_PORT
ER_SLAVE_MUST_STOP
ER_SLAVE_WAS_NOT_RUNNING
ER_SLAVE_WAS_RUNNING
ER_SP_GOTO_IN_HNDLR
ER_SP_PROC_TABLE_CORRUPT
ER_SQL_MODE_NO_EFFECT
ER_SR_INVALID_CREATION_CTX
ER_TABLE_NEEDS_UPG_PART
ER_TOO_MUCH_AUTO_TIMESTAMP_COLS
ER_UNEXPECTED_EOF
ER_UNION_TABLES_IN_DIFFERENT_DIR
ER_UNSUPPORTED_BY_REPLICATION_THREAD
ER_UNUSED1
ER_UNUSED2
ER_UNUSED3
ER_UNUSED4
ER_UNUSED5
ER_UNUSED6
ER_VIEW_SELECT_DERIVED_UNUSED
ER_WRONG_MAGIC
ER_WSAS_FAILED
  • 在MySQL 8.0中,已经移除了不推荐使用的INFORMATION_SCHEMA中的INNODB_LOCKS和INNODB_LOCK_WAITS表。请改用Performance Schema中的data_locks和data_lock_waits表来替代。值得注意的是,在MySQL 5.7中,INNODB_LOCKS表中的LOCK_TABLE列和sys模式的innodb_lock_waits和x$innodb_lock_waits视图中的locked_table列包含了组合的模式/表名值。但在MySQL 8.0中,data_locks表和sys模式的视图中含有分离的模式名称和表名称的列。
  • 在MySQL 8.0中,InnoDB不再支持压缩临时表。当启用innodb_strict_mode(默认情况下)时,如果指定了ROW_FORMAT=COMPRESSED或KEY_BLOCK_SIZE,则CREATE TEMPORARY TABLE会返回错误。如果禁用innodb_strict_mode,则会发出警告,并使用非压缩的行格式创建临时表。
  • 在MySQL 8.0中,当在MySQL数据目录以外创建表空间数据文件时,InnoDB不再创建.ISL(InnoDB Symbolic Link)文件。现在,innodb_directories选项支持将表空间文件定位为在数据目录之外创建的文件。

    由于这个变化,在服务器离线状态下通过手动修改.ISL文件来移动远程表空间不再被支持。现在,通过innodb_directories选项支持移动远程表空间文件。

  • 以下InnoDB文件格式变量已被移除:
    • innodb_file_format
    • innodb_file_format_check
    • innodb_file_format_max
    • innodb_large_prefix
    文件格式变量在MySQL 5.1中是为了创建与早期版本的InnoDB兼容的表而必要的。现在,MySQL 5.1已经达到了其产品生命周期的终点,这些选项不再需要。

    INNODB_TABLES和INNODB_TABLESPACES信息模式表中的FILE_FORMAT列也已被移除。

  • 已经移除了innodb_support_xa系统变量,该变量用于在XA事务中启用两阶段提交的支持。InnoDB对于XA事务的两阶段提交支持始终是启用的。

  • DTrace支持已在MySQL 8.0中被移除。

  • JSON_APPEND()函数已被移除。请改用JSON_ARRAY_APPEND()函数。

  • 从MySQL 8.0.13版本开始,不再支持将表分区放置在共享的InnoDB表空间中。共享表空间包括InnoDB系统表空间和通用表空间。

  • 从MySQL 8.0.13版本开始,除了SET语句之外,在其他语句中设置用户变量的功能已被弃用。这个功能可能在MySQL 9.0中被移除。请注意在将来的MySQL版本中更新您的应用程序以避免使用这个被弃用的功能。

  • --ndb perror选项已被移除。请改用ndb_perror实用程序。

  • innodb_undo_logs变量已被移除。应改用innodb_rollback_segments变量,它执行相同的功能。

  • Innodb_available_undo_logs状态变量已被移除。您可以使用SHOW VARIABLES LIKE 'innodb_rollback_segments'命令获取每个表空间可用的回滚段数量。

  • 从MySQL 8.0.14开始,之前已被弃用的innodb_undo_tablespaces变量不再可配置。

  • ALTER TABLE ... UPGRADE PARTITIONING语句的支持已被移除。

  • 从MySQL 8.0.16开始,已移除对internal_tmp_disk_storage_engine系统变量的支持;现在,在磁盘上的内部临时表总是使用InnoDB存储引擎。

  • DISABLE_SHARED CMake选项是未使用的,已被移除。

  • 从MySQL 8.0.30开始,myisam_repair_threads系统变量已被移除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625915.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chatgpt的基本技术及其原理

ChatGPT是一种基于生成式预训练的语言模型,它的基本技术包括预训练和微调。下面我将为你解释这些技术及其原理。 1. 预训练(Pre-training): ChatGPT的预训练阶段是在大规模的文本数据上进行的。模型通过对大量的互联网文本进行自监督学习来学…

学习视频一些杂乱的东西

文章目录 ref获取dom元素监听深层的某个属性? 可选链操作符 和 ?? 双问号表达式v-slot 语法糖作用域插槽动态插槽 初始化数组骚操作数字滚动 -> gsapstyle妙招新奇的原型链 object.createB站笔记链接JS相关设计模式ajaxsvgvue3scsswebpack内存泄漏 ref获取dom元素 直接给…

基于深度学习的实例分割的Web应用

基于深度学习的实例分割的Web应用 1. 项目简介1.1 模型部署1.2 Web应用 2. Web前端开发3. Web后端开发4. 总结 1. 项目简介 这是一个基于深度学习的实例分割Web应用的项目介绍。该项目使用PaddlePaddle框架,并以PaddleSeg训练的图像分割模型为例。 1.1 模型部署 …

【iOS】数据存储方式总结(持久化)沙盒结构

在iOS开发中,我们经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等,本篇文章将介绍六个主要的数据存储方式 iOS中数据存储方式(数据持久化) 根据要存储的数据大小、存储数据以及…

案例:应用内字体大小调节

文章目录 介绍相关概念完整实例 代码结构解读保存默认大小获取字体大小修改字体大小 介绍 本篇Codelab将介绍如何使用基础组件Slider,通过拖动滑块调节应用内字体大小。要求完成以下功能: 实现两个页面的UX:主页面和字体大小调节页面。拖动…

算法训练营第34天|● 1005.K次取反后最大化的数组和 ● 134. 加油站● 135. 分发糖果

文档讲解:代码随想录 (programmercarl.com) 视频讲解:代码随想录的个人空间-代码随想录个人主页-哔哩哔哩视频 (bilibili.com) LeetCode 1005.K次取反后最大化的数组和 题目链接:1005. K 次取反后最大化的数组和 - 力扣(LeetCode…

基于物联网设计的智能储物柜(4G+华为云IOT+微信小程序)

一、项目介绍 在游乐场、商场、景区等人流量较大的地方,往往存在用户需要临时存放物品的情况,例如行李箱、外套、购物袋等。为了满足用户的储物需求,并提供更加便捷的服务体验,当前设计了一款物联网智能储物柜。 该智能储物柜通…

git提交报错:remote: Please remove the file from history and try again.

1. 报错信息 remote: error: File: fba7046b22fd74b77425aa3e4eae0ea992d44998 500.28 MB, exceeds 100.00 MB. remote: Please remove the file from history and try again. git rev-list --objects --all | grep fba7046b22fd74b77425aa3e4eae0ea992d44998 2. 分析原因 e…

打架识别摄像机

随着社会治安问题的增加,打架事件在公共场所频繁发生,给社会治安带来了一定程度的威胁。因此,为了提高公共场所的安全性,可以利用现代科技,如人工智能和摄像技术,开发一种打架识别摄像机。 这种摄像机可以通…

基于 IDEA 进行 Maven 工程构建

一、构建概念和构建过程 项目构建是指将源代码、依赖库和资源文件等转换成可执行或可部署的应用程序的过程,在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 项目构建是软件开发过程中至关重要的一部分,它能够大大提高软件开发效率&…

【Docker】CentOS stream 上安装 Docker 环境详细指南

文章目录 1. 定义2. 优势3. 安装1)Linux 上安装(强烈推荐)2)Windows 和 MAC 上安装 4. 验证1)查看版本2)运行 Hello World 总结 Docker 是一种轻量级的容器化技术,提供了一种在不同环境中快速、…

Maven普通工程和web工程创建

文章目录 创建项目前设置maven工程前设置工作创建项目前--》设置utf-8配置maven参数Maven普通工程和web工程创建Maven简单工程第一步:File–New–Project 第二步:选择maven然后下一步:填写后询选择finish初始化maven工程目录简介maven简单工程…

vue3 | 自定义遮罩层组件

组件模板 <template><Teleport to"body" :disabled"!appendToBody"><div v-bind"$attrs" v-show"modelValue" class"maskLayer-overlay" :style"{ background }"><div class"maskLaye…

python中字符串常用的操作

在Python中&#xff0c;字符串是一种不可变的序列类型&#xff0c;它支持许多常用的操作。以下是一些常见的字符串操作&#xff1a; 字符串拼接&#xff1a; 使用 运算符可以将两个字符串拼接在一起。 str1 "Hello" str2 "World" result str1 "…

Rust-借用检查

Rust语言的核心特点是&#xff1a;在没有放弃对内存的直接控制力的情况下&#xff0c;实现了内存安全。 所谓对内存的直接控制能力&#xff0c;前文已经有所展示&#xff1a;可以自行决定内存布局&#xff0c;包括在栈上分配内存&#xff0c;还是在堆上分配内存&#xff1b;支…

使用vue快速开发一个带弹窗的Chrome插件

vue-chrome-extension-quickstart 说在前面 &#x1f388;平时我们使用Chrome插件通常都只是用来编写简单的js注入脚本&#xff0c;大家有没有遇到过需要插件在页面上注入一个弹窗呢&#xff1f;比如我们希望可以通过快捷键快速唤起ChatGPT面板或者快速唤起一个翻译面板&#x…

使用 Jaxb xml转JavaBean

1、什么是JAXB JAXB&#xff08;Java Architecture for XML Binding) 是一个业界的标准&#xff0c;是用于 XML 绑定的 Java 体系结构&#xff08;JAXB&#xff09;是允许将 Java 类映射到 XML 表示形式的软件框架。 JAXB 支持将 Java 对象编组为 XML&#xff0c;然后将 XML 解…

自动化革命:大象机器人的Mercury A1机械臂

引言 大象机器人的Mercury系列&#xff0c;是面向工业自动化和智能制造的新型机械臂产品线。这些机械臂不仅在设计上创新&#xff0c;还在材料选择上使用了碳纤维、铝合金和工程塑料等轻质强韧材料&#xff0c;搭载高精度谐波减速器。Mercury系列的推出&#xff0c;反映了大象机…

day2:TCP、UDP网络通信模型

思维导图 机械臂实现 #include <head.h> #define SER_POTR 8899 #define SER_IP "192.168.125.223" int main(int argc, const char *argv[]) {//创建套接字int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-1){perror("");return -1;}//链接struct so…

部署MinIO

一、安装部署MINIO 1.1 下载 wget https://dl.min.io/server/minio/release/linux-arm64/minio chmod x minio mv minio /usr/local/bin/ # 控制台启动可参考如下命令, 守护进程启动请看下一个代码块 # ./minio server /data /data --console-address ":9001"1.2 配…