MySQL 8.0中移除的功能(一)
以下项目已经过时并在MySQL 8.0中被删除。如果有替代方案,请务必更新应用程序以使用这些替代方案。
对于在MySQL 8.0中被删除的功能,如果从MySQL 5.7源复制到MySQL 8.0副本时,可能会导致语句失败,或者在源和副本上产生不同的效果。为了避免这样的问题,使用在MySQL 8.0中被删除功能的应用程序应进行修订,以避免使用这些功能,并尽可能使用替代方案。
- innodb_locks_unsafe_for_binlog系统变量已被移除。 READ COMMITTED隔离级别提供了类似的功能。
- MySQL 8.0.0引入的information_schema_stats变量已被移除,并在MySQL 8.0.3中被information_schema_stats_expiry取代。
information_schema_stats_expiry用于定义缓存的INFORMATION_SCHEMA表统计信息的过期设置。 - 与已过时的InnoDB系统表相关的代码已在MySQL 8.0.3中移除。
基于InnoDB系统表的INFORMATION_SCHEMA视图已被内部系统视图替代,这些视图基于数据字典表。受影响的InnoDB INFORMATION_SCHEMA视图已被重新命名:Old Name New Name INNODB_SYS_COLUMNS INNODB_COLUMNS INNODB_SYS_DATAFILES INNODB_DATAFILES INNODB_SYS_FIELDS INNODB_FIELDS INNODB_SYS_FOREIGN INNODB_FOREIGN INNODB_SYS_FOREIGN_COLS INNODB_FOREIGN_COLS INNODB_SYS_INDEXES INNODB_INDEXES INNODB_SYS_TABLES INNODB_TABLES INNODB_SYS_TABLESPACES INNODB_TABLESPACES INNODB_SYS_TABLESTATS INNODB_TABLESTATS INNODB_SYS_VIRTUAL INNODB_VIRTUAL 在升级到MySQL 8.0.3或更高版本后,需要更新任何引用先前的InnoDB INFORMATION_SCHEMA视图名称的脚本。
-
以下与账户管理相关的功能已被移除:
-
使用
CREATE USER代替GRANT来创建用户。遵循这种做法使NO_AUTO_CREATE_USER SQL模式对GRANT语句无效,因此该模式也已被移除。当在选项文件中的sql_mode选项中存在NO_AUTO_CREATE_USER值阻止mysqld启动时,现在会将错误写入服务器日志。 -
使用
GRANT语句来修改账户属性,包括身份验证、SSL和资源限制属性,已被移除。相反,在创建账户时,可以使用CREATE USER语句来设置这些属性,或者使用ALTER USER语句在创建后修改它们。 -
在MySQL中,IDENTIFIED BY PASSWORD 'auth_string'语法用于 CREATE USER和 GRANT语句已被移除。相反,现在可以使用 IDENTIFIED WITH auth_plugin AS 'auth_string'来替代,在 CREATE USER和 ALTER USER语句中使用此语法,其中的 'auth_string'值采用与指定的插件兼容的格式。
此外,由于 IDENTIFIED BY PASSWORD语法已被移除,因此 log_builtin_as_identified_by_password系统变量也不再需要,并已被移除。
-
PASSWORD()函数已在MySQL中移除。这意味着您不能再使用PASSWORD()函数生成密码哈希值,也不能在SET PASSWORD ... = PASSWORD('auth_string')等语句中使用它。 -
old_passwords是MySQL中的一个系统变量。
-
- 查询缓存已被移除。这个移除的行为包括以下内容:
-
FLUSH QUERY CACHE和RESET QUERY CACHE语句被移除。 - 系统变量
query_cache_limit、query_cache_min_res_unit、query_cache_size、query_cache_type、query_cache_wlock_invalidate被移除。 - 状态变量
Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、Qcache_total_blocks被移除。 - 线程状态
checking privileges on cached query、checking query cache for query、invalidating query cache entries、sending cached result to client、storing result in query cache、Waiting for query cache lock被移除。 -
SQL_CACHE和SQL_NO_CACHE SELECT 参数被废弃,并且其行为不再起作用。这些参数预计在未来的MySQL版本中被移除。 -
ndb_cache_check_time系统变量被废弃,并预计在未来的MySQL版本中被移除。 -
have_query_cache系统变量仍然被废弃,并且始终具有NO值,预计在未来的MySQL版本中被移除。
-
- 数据字典提供有关数据库对象的信息,因此服务器不再通过检查数据目录中的目录名称来查找数据库。因此,
--ignore-db-dir选项和ignore_db_dirs系统变量是多余的,并已被移除。 - DDL日志,也称为元数据日志,已被移除。从MySQL 8.0.3版本开始,这个功能由数据字典中的
innodb_ddl_log表来处理。 -
tx_isolation和tx_read_only系统变量已被移除。应使用transaction_isolation和transaction_read_only代替。 sync_frm系统变量已被移除,原因是.frm文件已经过时。secure_auth系统变量和--secure-auth客户端选项已被移除。mysql_options() C API函数的MYSQL_SECURE_AUTH选项也已被移除。- `multi_range_count`系统变量已移除。
log_warnings系统变量和--log-warnings服务器选项已被移除。请使用log_error_verbosity系统变量代替。sql_log_bin系统变量的全局作用域已被移除。sql_log_bin只具有会话级别的作用域,依赖于访问@@GLOBAL.sql_log_bin的应用程序需要进行调整。metadata_locks_cache_size和metadata_locks_hash_instances系统变量已被移除。date_format、datetime_format、time_format和max_tmp_tables系统变量已被移除。-
这些被弃用的兼容性SQL模式已被移除:DB2、MAXDB、MSSQL、MYSQL323、MYSQL40、ORACLE、POSTGRESQL、NO_FIELD_OPTIONS、NO_KEY_OPTIONS和NO_TABLE_OPTIONS。它们不再能够被分配给sql_mode系统变量,也不能作为mysqldump --compatible选项的允许值使用。
MAXDB的移除意味着在CREATE TABLE或ALTER TABLE语句中,TIMESTAMP数据类型将被视为TIMESTAMP,而不再被视为DATETIME。
-
已移除GROUP BY子句中的弃用ASC或DESC限定符。以前依赖于GROUP BY排序的查询可能会产生与之前的MySQL版本不同的结果。为了按照给定的排序顺序进行查询,请提供ORDER BY子句。
-
`EXPLAIN`语句的`EXTENDED`和`PARTITIONS`关键字已被移除。这些关键字是不必要的,因为它们的效果总是启用的。
-
被移除的加密相关功能如下:
• `ENCODE()`和`DECODE()`函数。
• `ENCRYPT()`函数。
• `DES_ENCRYPT()`和`DES_DECRYPT()`函数,`--des-key-file`选项,`have_crypt`系统变量,`FLUSH`语句的`DES_KEY_FILE`选项以及`HAVE_CRYPT`CMake选项。
替代被移除的加密函数:对于`ENCRYPT()`函数,考虑改用`SHA2()`进行单向哈希;对于其他情况,考虑改用`AES_ENCRYPT()`和`AES_DECRYPT()`函数。 -
在MySQL 5.7中,为了使空间函数的命名空间更加一致,几个具有多个名称的空间函数被标记为弃用。目标是,如果一个空间函数执行精确操作,则其函数名应以ST_开头;如果执行基于最小边界矩形的操作,则函数名应以MBR开头。在MySQL 8.0中,这些被弃用的函数被移除,只保留相应的ST_和MBR函数:
-
这些函数已经被移除,并改用MBR名称代替:`Contains()`, `Disjoint()`, `Equals()`, `Intersects()`, `Overlaps()`, `Within()`。
-
这些函数已被移除,并改用ST_名称替代: `Area()`, `AsBinary()`, `AsText()`, `AsWKB()`, `AsWKT()`, `Buffer()`, `Centroid()`, `ConvexHull()`, `Crosses()`, `Dimension()`, `Distance()`, `EndPoint()`, `Envelope()`, `ExteriorRing()`, `GeomCollFromText()`, `GeomCollFromWKB()`, `GeomFromText()`, `GeomFromWKB()`, `GeometryCollectionFromText()`, `GeometryCollectionFromWKB()`, `GeometryFromText()`, `GeometryFromWKB()`, `GeometryN()`, `GeometryType()`, `InteriorRingN()`, `IsClosed()`, `IsEmpty()`, `IsSimple()`, `LineFromText()`, `LineFromWKB()`, `LineStringFromText()`, `LineStringFromWKB()`, `MLineFromText()`, `MLineFromWKB()`, `MPointFromText()`, `MPointFromWKB()`, `MPolyFromText()`, `MPolyFromWKB()`, `MultiLineStringFromText()`, `MultiLineStringFromWKB()`, `MultiPointFromText()`, `MultiPointFromWKB()`, `MultiPolygonFromText()`, `MultiPolygonFromWKB()`, `NumGeometries()`, `NumInteriorRings()`, `NumPoints()`, `PointFromText()`, `PointFromWKB()`, `PointN()`, `PolyFromText()`, `PolyFromWKB()`, `PolygonFromText()`, `PolygonFromWKB()`, `SRID()`, `StartPoint()`, `Touches()`, `X()`, `Y()`。
-
GLength() 函数已被移除,并改用ST_Length() 函数来代替。
-
- 几何参数不再被允许,并会产生错误。请参考该部分的指南,以迁移查询并停止使用几何参数。
- 解析器不再将
\N 视为 SQL 语句中NULL 的同义词。请使用NULL 代替。该更改不影响使用LOAD DATA 或SELECT ... INTO OUTFILE 进行的文本文件导入或导出操作,对于这些操作,仍然使用\N 表示NULL。
相关文章:
MySQL 8.0中移除的功能(一)
以下项目已经过时并在MySQL 8.0中被删除。如果有替代方案,请务必更新应用程序以使用这些替代方案。 对于在MySQL 8.0中被删除的功能,如果从MySQL 5.7源复制到MySQL 8.0副本时,可能会导致语句失败,或者在源和副本上产生不同的效果…...
可抓取性和可索引性:它们是什么以及如何影响搜索引擎优化
什么是可抓取性? 网页的可抓取性是指搜索引擎(如谷歌)发现网页的难易程度。 谷歌发现网页的过程称为爬行。它使用称为网络爬虫(也称为机器人或蜘蛛)的计算机程序。这些程序会跟踪网页之间的链接,以发现新…...
Django教程第4章 | Web开发实战-三种验证码实现
系列:Django学习教程 验证码的存在是为了防止系统被暴力破解攻击,几乎每个系统都有验证码。下面将介绍三种生成验证码方式。 您可以根据你自己的需要进行学习。 手动生成验证码 安装绘图依赖,利用的是画图模块 PIL 以及随机模块 random 在后…...
深度探讨 Golang 中并发发送 HTTP 请求的最佳技术
💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在 Golang 领域,并发发送 HTTP 请求…...
VUE指令(二)
vue会根据不同的指令,针对不同的标签实现不同的功能。指令是带有 v- 前缀的特殊标签属性。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM。 8、v-for:基于数据循环,多次渲染整个…...
开源对象存储服务器MinIO本地部署并结合内网穿透实现远程访问管理界面
文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…...
【TypeScript】tsconfig.json文件到底是干啥的?作用是什么?
参考学习博文: 掌握tsconfig.json 一、tsconfig.json简介 1、tsconfig.json是什么? TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript 项目的根目录。 通常…...
wagtail的数据模型和渲染
文章目录 前言页面数据模型数据库字段部分搜索部分编辑面板基础面板结构化面板父页面/子页面类型规则页面URLs自定义页面模型的URL模式获取页面实例的URL 模板渲染为页面模型添加模板模板上下文自定义模板上下文更改模板动态选择模板Ajax 模板 内联模型在多个页面类型之间重用内…...
OpenHarmony4.0适配LVDS屏幕驱动
1.概述 手头有一块RK3568的开发板OK3568-C,但是还没有适配OpenHarmony,用的还是LVDS屏幕,但是官方和网上好像还没有OpenHarmony4.0的LVDS屏幕驱动的通用实现,所以决定尝试了一下适配该开发板,完成LVDS屏幕驱动的适配&…...
【playwright】新一代自动化测试神器playwright+python系列课程01-playwright驱动浏览器
Playwright驱动浏览器 安装 Playwright 时,Playwright默认自动安装了三种浏览器(Chromium、Firefox 和 WebKit)。我们可以驱动这三种浏览器中的任意一种。 使用with上下文管理器 启动chromium浏览器 python # # author: 测试-老姜 交流…...
POSIX API与网络协议栈
本文介绍linux中与tcp网络通信相关的POSIX API,在每次调用的时候,网络协议栈会进行的操作与记录。 POSIX API Posix API,提供了统一的接口,使程序能得以在不同的系统上运行。简单来说不同的操作系统进行同一个活动,比…...
互联网加竞赛 基于卷积神经网络的乳腺癌分类 深度学习 医学图像
文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度,召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…...
腾讯云 IPv6 解决方案
产品矩阵全覆盖 腾讯云全线产品 All in IPv6;云服务器、私有网络、负载均衡、内容分发、域名解析、DDoS 高防等都已支持 IPv6。 全球 IPv6 基础设施 腾讯云在全球开放25个地理区域,运营53个可用区;目前已有多个地域提供 IPv6 接入能力。 …...
Appium 自动化测试
1.Appium介绍 1,appium是开源的移动端自动化测试框架; 2,appium可以测试原生的、混合的、以及移动端的web项目; 3,appium可以测试ios,android应用(当然了,还有firefoxos)…...
深入浅出Android dmabuf_dump工具
目录 dmabuf是什么? dmabuf_dump工具介绍(基于Android 14) Android.bp dmabuf_dump.cpp 整体架构结构如下 dmabuf_dump主要包含以下功能 前置背景知识 fdinfo 思考 bufinfo Dump整个手机系统的dmabuf Dump某个进程的dmabuf 以Table[buff…...
Guava RateLimiter预热模型
本文已收录至我的个人网站:程序员波特,主要记录Java相关技术系列教程,共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源,让想要学习的你,不再迷茫。 什么是流量预热 我们都知道在做运动之前先得来几组…...
【搭建个人知识库-3】
搭建个人知识库-3 1 大模型开发范式1.1 RAG原理1.2 LangChain框架1.3 构建向量数据库1.4 构建知识库助手1.5 Web Demo部署 2 动手实践2.1 环境配置2.2 知识库搭建2.2.1 数据收集2.2.2 加载数据2.2.3 构建向量数据库 2.3 InternLM接入LangChain2.4 构建检索问答链1 加载向量数据…...
如何看待 Linux 内核邮件列表重启将内核中的 C 代码转换为 C++
如何看待 Linux 内核邮件列表重启将内核中的 C 代码转换为 C 的讨论? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Linux的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿…...
springboot网关添加swagger
添加依赖 <dependency><groupId>com.spring4all</groupId><artifactId>swagger-spring-boot-starter</artifactId><version>2.0.2</version></dependency>添加配置类,与服务启动类同一个层级 地址:http…...
代码随想录 Leetcode383. 赎金信
题目: 代码(首刷自解 2024年1月15日): class Solution { public:bool canConstruct(string ransomNote, string magazine) {vector<int> v(26);for(auto letter : magazine) {v[letter - a];}for(auto letter : ransomNote…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
