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…...
京东商品自动监控下单工具:告别手动刷新,让心仪商品自动到手
京东商品自动监控下单工具:告别手动刷新,让心仪商品自动到手 【免费下载链接】jd-happy [DEPRECATED]Node 爬虫,监控京东商品到货,并实现下单服务 项目地址: https://gitcode.com/gh_mirrors/jd/jd-happy 还在为抢不到心仪…...
cPanel三连漏洞CVE-2026-29201/29202/29203深度解析:150万服务器面临全面接管危机
一、事件引言:2026年主机行业最大安全地震 2026年5月8日,全球市场份额第一的服务器管理面板cPanel & WHM 发布紧急安全公告,一次性披露三个高危安全漏洞(CVE-2026-29201/29202/29203)。这组被安全界称为"cPa…...
告别照片管理烦恼:ExifToolGUI帮你3步搞定批量元数据处理
告别照片管理烦恼:ExifToolGUI帮你3步搞定批量元数据处理 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 你是否曾为数百张旅行照片的整理而头疼?拍摄时间需要统一调整,版…...
LENS多模态模型评估实战:从模块消融到失败案例的深度剖析
1. 项目概述:从评估报告到实战指南最近在复现和深入分析LENS这个多模态模型时,我发现原始论文的补充材料虽然数据详实,但更像一份“内部技术报告”,对于想真正理解其能力边界、复现评估过程,甚至想借鉴其架构思路的同行…...
化工仿真神器 Aspen 15.0:AI 赋能 + 绿氢专项,附下载安装教程
Aspen 15.0 是 工业流程模拟与数字化平台,核心为化工、石化、炼油、能源等行业提供全生命周期解决方案,从工艺设计、模拟优化到生产运维、绿色转型全覆盖,15.0 版本重点强化工业 AI、生成式 AI 能力,适配绿色能源与可持续发展需求…...
机器人接触式操作:混合式轨迹优化与策略学习
1. 机器人接触式操作的核心挑战与解决方案在机器人操作领域,接触式任务(如物体翻转、装配、精密放置)一直是最具挑战性的问题之一。这类任务要求机器人频繁建立和断开与物体的接触,同时需要精确控制接触力和运动轨迹。哪怕几毫米的…...
GoMCP框架:用Go快速构建AI工具集成服务器
1. 项目概述:GoMCP,一个为Go语言打造的MCP服务器框架如果你正在用Go语言开发AI应用,并且想让你的Claude Desktop、Cursor或者VS Code Copilot能够调用你写的工具、读取你的数据源,那么你很可能已经接触过Model Context Protocol&a…...
基于大语言模型的自动化股票研报生成系统设计与实现
1. 项目概述:当ChatGPT遇上股票研报最近几年,AI在金融领域的应用已经从简单的数据查询,进化到了能够进行复杂分析和生成专业报告的程度。我关注到一个挺有意思的项目,叫ddobokki/chatgpt_stock_report。光看这个名字,你…...
汉字可视化探索平台:基于Flask+Vue的汉字浏览系统架构与实现
1. 项目概述:一个汉字学习者的“浏览器”如果你和我一样,对汉字的结构、演变和背后的文化故事着迷,那你一定经历过这样的时刻:在阅读古籍、碑帖,或者仅仅是看到一个生僻字时,心里会冒出无数个问号——这个字…...
ARM PMU性能监控架构与寄存器详解
1. ARM PMU性能监控架构概述 性能监控单元(Performance Monitoring Unit, PMU)是现代处理器中用于硬件级性能分析的关键模块。作为ARM架构的重要组成部分,PMU通过一组可编程计数器来记录处理器运行过程中发生的各类微架构事件,为系统性能分析和优化提供数…...
