MySQL 9.0 正式发行Innovation创新版已支持向量
从 MySQL 8.1 开始,官方启用了新的版本模型:MySQL 创新版 (Innovation) 和长期支持版 (LTS)。 根据介绍,两者的质量都已达到可用于生产环境级别。区别在于: 如果希望尝试最新的功能和改进,并喜欢与最新技术保持同步,那么 MySQL 创新版本可能最适合您。 该版本非常适合在快节奏的开发环境中工作的开发人员和 DBA,其中有高水平的自动化测试和现代的持续集成技术,可以实现更快的升级周期。 如果您的环境需要继续保持已经固定的行为,那么 LTS 版本就是您的不二之选。这些版本仅包含必要的修复,因此可以减少数据库软件行为变更带来的风险。
2024年7月1日,MySQL的创新版MySQL 9.0 GA,如果您还不清楚什么是创新版,请查阅MySQL的创新版(Innovation)与长期稳定版(LTS)。
这个版本里面有哪些变化。
- “mysql_native_password”插件已经被删除,如果客户端软件不具备“CLIENT_PLUGIN_AUTH”能力将无法连接服务器。为了向后兼容,“mysql_native_password”在9.0版本的客户端上仍然可以连接到早期版本的MySQL服务器。
- SQL语句“CREATE EVENT”、“ ALTER EVENT”,及 “DROP EVENT”可以作为PREPARE执行。
- 由包含“IGNORE”关键字的语句忽略产生的错误“ER_SUBQUERY_NO_1_ROW”已从错误列表中删除。
- Performance Schema中增加了两个表:
variables_metadata:提供了关于系统变量的一般信息。这些信息包括MySQL服务器识别的每个系统变量的名称、作用域、类型、范围(如适用)和描述。 - global_variale_attributes:提供了关于服务器分配给全局系统变量的属性值对的信息。
- EXPLAIN ANALYZE的输出结果可以用JSON格式保存,语法如下:
EXPLAIN ANALYZE FORMAT=JSON INTO @variable select_stmt
Windows版本的相关改进
使用Windows版的用户可以在这个版本里面获得大量的体验改善,修复了Windows安装向导中大量的错误。
MySQL Shell
更新并简化了InnoDB ReplicaSet中锁的处理,不再需要多个每个实例的锁。
支持部分或完全解散 ClusterSet。
支持在所有能够访问的成员上执行“.execute().”。
升级检查工具支持对外键参照的检查。
MySQL9.0支持的平台
9.x | 8.4 长期支持 | 8.0 | ||
---|---|---|---|---|
操作系统 | 建筑学 | |||
Oracle Linux / Red Hat / CentOS / Rocky Linux | ||||
Oracle Linux 9 / Red Hat Enterprise Linux 9 / Rocky Linux 9 | x86_64,arm64 | • | • | • |
Oracle Linux 8 / Red Hat Enterprise Linux 8 / CentOS 8 / Rocky Linux 8 | x86_64,arm64 | • | • | • |
Oracle Linux 7 / Red Hat Enterprise Linux 7 / CentOS 7 | x86_64,arm64 | • | • | • |
Oracle Linux 6 / Red Hat Enterprise Linux 6 / CentOS 6 | x86_32、x86_64 | • | ||
Oracle Solaris | ||||
Solaris 11(更新 4+) | SPARC_64 | • | • | • |
Canonical | ||||
Ubuntu 24.04 LTS | x86_64 | • | • | • |
Ubuntu 22.04 LTS | x86_64 | • | • | • |
Ubuntu 20.04 LTS | x86_64 | • | ||
SUSE | ||||
SUSE 企业版 Linux 15 / OpenSUSE 15 (15.5) | x86_64 | • | • | • |
SUSE Enterprise Linux 12(12.5+) | x86_64 | • | ||
Debian | ||||
Debian GNU/Linux 12 | x86_64 | • | • | • |
微软 Windows 服务器 | ||||
Microsoft Windows 2022 服务器 | x86_64 | • | • | • |
微软 Windows 2019 服务器 | x86_64 | • | • | • |
Microsoft Windows 2016 服务器 | x86_64 | • | • | • |
微软Windows | ||||
微软 Windows 11 | x86_64 | • | • | • |
微软 Windows 10 | x86_64 | • | ||
苹果 | ||||
macOS 14 | x86_64,arm64 | • | • | • |
macOS 13 | x86_64,arm64 | • | • | • |
MySQL 9.0 中已弃用的功能
以下功能在 MySQL 9.0 中已弃用,并且可能会在未来的系列中删除。如果 MySQL 更新说明中有显示替代方案,则你们应更新应用程序并使用它们。
对于使用 MySQL 9.0 中已弃用且已在更高 MySQL 版本中删除的功能的应用程序,从 MySQL 9.0 源复制的语句到运行更高版本的副本时,语句可能会执行失败,或者可能对源和副本产生不同的影响。为了避免此类问题,应修改使用 9.0 中已弃用功能的应用程序以避免这些问题,并尽可能使用替代方案。以下内容为弃用功能,
性能模式 variables_info 表列。 性能模式变量信息表的 MIN_VALUE 和 MAX_VALUE 列现已弃用,并且可能会在未来的 MySQL 版本中删除。相反请使用 Variables_metadata 表中具有相同名称的列(请参阅上文 1.3 章节)。
MySQL 9.0 中删除的功能
以下功能已过时并已在 MySQL 9.0 中删除。如果 MySQL 更新说明中有显示替代方案,则你们应更新应用程序并使用它们。
对于使用 MySQL 9.0 中删除的功能的 MySQL 8.4 应用程序,从 MySQL 8.4 源复制到 MySQL 9.0 副本时,语句可能会执行失败,或者可能对源和副本产生不同的影响。为了避免此类问题,应修改使用 MySQL 9.0 中删除的功能的应用程序以避免这些问题,并尽可能使用替代方案。
mysql_native_password 插件。mysql_native_password 身份验证插件已在 MySQL 8.0 中弃用,已被删除。服务器现在拒绝来自不具有 CLIENT_PLUGIN_AUTH 功能的旧客户端程序的 mysql_native 身份验证请求。
由于此更改,以下服务器选项和变量也已被删除:
–mysql-native-password 服务器选项
–mysql-native-password-proxy-users 服务器选项
default_authentication_plugin 服务器系统变量
给大家介绍一下 mysql_native_password 插件。
mysql_native_password 介绍
从 MySQL 8.0.4 开始,MySQL 默认身份验证插件从 mysql_native_password 改为 caching_sha2_password 。相应地,libmysqlclient 也使用 caching_sha2_password 作为默认的身份验证机制。
删除起因
在这之前 MySQL 5.6/5.7 使用的默认密码插件是 mysql_native_password。mysql_native_password 的特点是不需要加密的连接。该插件验证速度特别快,但是不够安全,因为,mysql_native_password 使用的是于 SHA1 算法,NIST(美国国家标准与技术研究院)在很早之前就已建议停止使用 SHA1 算法,因为 SHA1 和其他哈希算法(例如 MD5)容易被破解。
其实从 MySQL 5.6 开始就引入了更安全的认证机制:ha256_password 认证插件。它使用一个加盐密码(salted password)进行多轮 SHA256 哈希(数千轮哈希,暴力破解更难),以确保哈希值转换更安全。但是,建立安全连接和多轮 hash 加密很耗费时间。虽然安全性更高,但是验证速度不够快。
改进
MySQL 试图结合二者的优点。于是在 MySQL 8.0.3 版本引入了一个新的身份验证插件 caching_sha2_password ,作为sha256_password的代替方案,在sha256_password 的基础上进行了改进补上了短板,既解决安全性问题又解决性能问题。与此同时 sha256_password将退出时代的浪潮。MySQL 预计在未来版本中将其删除。使用 sha256_password 进行身份验证的 MySQL 账户建议转为 caching_sha2_password。
其实 MySQl 早就想在 8.0 版本中替换到 mysql_native_password 插件,到了 9.0 版本直接删除 mysql_native_password 功能其实提前跟大家打过招呼。
总结
MySQL 9.0 版本新增了 EXPLAIN 分析 JSON 输出、DDL 语句新增 Event 语法、性能模式新添加了两个新表,弃用了老版本中的 variables_info 表,删除了 mysql_native_password 认证插件。
这些更新没有带来大的功能改动,对于大多数应用程序来说影响很小,没有当年 MySQL 5.7 发布时带来的 innodb 存储引擎那种给人带来的激动感,更新说明中也没有强调性能改进(估计性能对比 8.4 版本提升不大)。不过这也说明关系型数据库 MySQL 如今的功能以及稳定性方面都已经越来越完善。
相关文章:
MySQL 9.0 正式发行Innovation创新版已支持向量
从 MySQL 8.1 开始,官方启用了新的版本模型:MySQL 创新版 (Innovation) 和长期支持版 (LTS)。 根据介绍,两者的质量都已达到可用于生产环境级别。区别在于: 如果希望尝试最新的功能和改进,并喜欢与最新技术保持同步&am…...
基于Java+SpringMvc+Vue技术的智慧校园系统设计与实现
博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…...
【蔬菜网元宇宙】—— 探索农业的未来之旅
在数字化时代的浪潮中,技术和创新不断塑造着我们的生活方式。现在,这种变革已经延伸到了农业领域。蔬菜网,一个专注于农产品供应链的领先平台,自豪地宣布我们正式迈入元宇宙的世界——一个全新的虚拟空间,旨在彻底改变…...
淘宝商品历史价格查询(免费)
当前资料来源于网络,禁止用于商用,仅限于学习。 淘宝联盟里面就可以看到历史价格 并且没有加密 淘宝商品历史价格查询可以通过以下步骤进行: 先下载后,登录app注册账户 打开淘宝网站或淘宝手机App。在搜索框中输入你想要查询的商…...
14-47 剑和诗人21 - 2024年如何打造AI创业公司
2024 年,随着人工智能继续快速发展并融入几乎所有行业,创建一家人工智能初创公司将带来巨大的机遇。然而,在吸引资金、招聘人才、开发专有技术以及将产品推向市场方面,人工智能初创公司也面临着相当大的挑战。 让我来…...
WPF界面设计-更改按钮样式 自定义字体图标
一、下载图标文件 iconfont-阿里巴巴矢量图标库 二、xaml界面代码编辑 文件结构  对应的图标代码 Fonts/#iconfont 对应文件位置 <Window.Resources><ControlTemplate TargetType"Button" x:Key"CloseButtonTemplate"…...
开源项目的机遇与挑战
随着全球经济和科技环境的快速变化,开源软件项目的蓬勃发展成为了开发者社区的热门话题。越来越多的开发者和企业选择参与开源项目,以推动技术创新和实现协作共赢。本文将从开源项目的发展趋势、参与开源的经验分享,以及开源项目的挑战三个方…...
Linux实现CPU物理隔离
文章目录 背景使用 taskset 命令使用 cgroups案例 背景 在 Linux 上实现 CPU 的物理隔离(也称为 CPU 隔离或 CPU pinning),可以通过将特定的任务或进程绑定到特定的 CPU 核心来实现。这可以提高系统性能,尤其是在需要实时响应的应…...
springer latex模板参考文献不显示
原因 his is BibTeX, Version 0.99d (TeX Live 2024) The top-level auxiliary file: sn-article.aux I couldn’t open style file sn-mathphys-num.bst —line 2 of file sn-article.aux : \bibstyle{sn-mathphys-num : } I’m skipping whatever remains of this command I…...
使用Vue3、Pinia和Vite5打造高度还原的抖音仿制项目
douyin-vue 是一个模仿 抖音|TikTok 的移动端短视频项目。Vue 在移动端的"最佳实践",媲美原生 App 丝滑流畅的使用体验。使用了最新的 Vue 技术栈,基于 Vue3、Vite5 、Pinia实现。数据保存在项目本地,通过 axios-mock-adapter 库拦…...
stm32基本定时器
Driver_TIM6.c 需要注意立即进入中断问题,原因是预分频寄存器并没有更新预分频系数。 #include "Driver_TIM6.h" #include "Delay.h" /*** description: 给定时器6进行初始化* return {*}*/ void Driver_TIM6_Init(void) {/* 1. 给定时器6开启…...
网络安全基础-1
棱角社区:[~]#棱角 ::Edge.Forum* 专业名词 操作系统 文件下载 linux:下载命令 1. wget命令 wget是一个非常强大的命令行下载工具,支持HTTP、HTTPS、FTP等多种协议,并具备断点续传、递归下载等功能。 基本用法: 下载文件到…...
SSH远程访问及控制
目录 一、SSH远程管理 1、SSH定义 2、SSH客户端和服务端 3、SSH工作类型 3.1、对称加密 3.2、非对称加密 4、SSH工作原理 公钥传输原理 4.1、基本概念 4.2、工作过程 5、OpenSSH服务器 二、SSH远程登录方式 1、SSH直接远程登录 2、SSH指定端口登录 3、黑白名单 …...
Qt 绘图详解
文章目录 头文件和构造函数启用反锯齿功能绘制矩形绘制圆角矩形绘制椭圆绘制圆弧绘制弦绘制凸多边形绘制图片绘制直线绘制多条直线绘制多点连接的线绘制路径绘制扇形绘制点绘制文本擦除矩形区域填充矩形填充路径 头文件和构造函数 #include "mainwindow.h" #include…...
Python 爬虫与 Java 爬虫:相似之处、不同之处和选项
在信息时代,网络上可用的数据量巨大且不断增长。为了从这些数据中提取有用的信息,爬虫已成为一种重要的技术。Python 和 Java 都是流行的编程语言,都具有强大的爬虫功能。本文将深入探讨 Python 爬虫和 Java 爬虫之间的差异,以帮助…...
视频监控汇聚平台LntonCVS视频监控系统解决智慧产业园的安全应用方案
近年来,随着全国各地数字化转型和相关政策的出台,数字化和智慧化在各行业迅速发展,尤其是作为产业集群重要组成部分的产业园区。然而,园区智慧化进程加快的同时,数字化转型面临着诸如视频监控数据分散、联通不畅、碎片…...
MAVLink代码生成-C#
一. 准备Windows下安装环境 Python 3.3 – 官网链接下载Python future模块 –pip3 install future TkInter (GUI 工具). – python for Windows自带,无需下载环境变量PYTHONPATH必须包含mavlink存储库的目录路径。 –set PYTHONPATH你的mavlink源码路径 源码下载在…...
二四、3d人脸构建
一、下载github项目3dmm_cnn-master https://github.com/anhttran/3dmm_cnn.git 一个使用深度神经网络从单个图像进行 3D 人脸建模的项目,端到端代码,可直接根据图像强度进行 3D 形状和纹理估计;使用回归的 3D 面部模型,从检测到的面部特征点估计头部姿势和表情。…...
鸿蒙开发:Universal Keystore Kit(密钥管理服务)【加解密(C/C++)】
加解密(C/C) 以AES 256密钥为例,完成加解密。具体的场景介绍及支持的算法规格。 在CMake脚本中链接相关动态库 target_link_libraries(entry PUBLIC libhuks_ndk.z.so)开发步骤 生成密钥 指定密钥别名。初始化密钥属性集。调用OH_Huks_GenerateKeyItem生成密钥)…...
Python的入门知识(上)
学习目标: 了解python 入门知识 这里写目录标题 学习目标:学习内容:快速入门 Python 基础特殊规则及特殊字符:Python 文件组织:多元赋值:变量命名规则:__name__ 系统变量:内存管理&a…...
2024春秋杯网络安全联赛夏季赛-PWN
文章目录 stdout测试setvbuf(stdout, 0LL, 2, 0LL)绕过或者输出直到缓冲区满使用system("/bin/sh")或者onegadget即使setvbuf(stdout, 0LL, 0, 0LL);也能立即有回显参考[https://starrysky1004.github.io/2024/07/05/2024-shu-qi-xue-xi-ji-lu/#toc-heading-4](https…...
怎么提高音频声音大小?提高音频声音大小的四种方法
怎么提高音频声音大小?在音频处理和编辑中,增加声音的音量是一个常见的需求,尤其是在确保音频清晰度和听觉效果的同时。调整音频的音量不仅仅是简单地提高音频的响度,它也涉及到如何保持音质的高标准,确保没有失真或削…...
从数据仓库到数据湖(下):热门的数据湖开源框架
文章目录 一、前言二、Delta Lake三、Apache Hudi四、Apache Iceberg五、Apache Paimon六、对比七、笔者观点八、总结九、参考资料 一、前言 在上一篇从数据仓库到数据湖(上):数据湖导论文章中,我们简单讲述了数据湖的起源、使用原因及其本质。本篇文章…...
对话AI原生 | 千帆AppBuilder重构企业AI原生应用开发体验
人工智能和大模型正在引领当前最重要的科技创新趋势。在过去的一年中,行业关注点已从大模型研发转向实际应用,正成为推动创新和转型的关键力量。百度智能云千帆AppBuilder作为基于大模型的企业级AI原生应用开发工作台,支持应用的快速开发和发…...
CF253C Text Editor 题解
思路 既然要求最少步数,那我们可以用bfs 如果鼠标的位置比上一行的行末位置大,如果按上的话,移到上一行的行末。如果鼠标的位置比下一行的行末位置大,如果按下的话,移到下一行的行末。 注意当鼠标位置超过当前行最大…...
Spring Boot 创建定时任务
在现代应用程序开发中,定时任务是一个常见的需求。Spring Boot作为一个强大的框架,提供了简单易用的定时任务调度功能。本文将详细介绍如何在Spring Boot中创建和管理定时任务,并提供完整的代码示例。 1. 什么是定时任务 定时任务是指在预定…...
Vue使用Echarts(入门级)
最终效果: npm install echarts --save // 先安装echarts<template><!-- 创建一个dom区域用于挂载echarts图表 --><div id"chart" style"width: 600px;height:500px;"/> </template> <script> import * as ech…...
2025届秋招提前批信息汇总(计算机类)
私企篇 深信服 链接:https://app.mokahr.com/campus_apply/sangfor/27944#/home内推码:NTAHRFS截止时间:6月21日 TP-LINK 链接:https://hr.tp-link.com.cn/jobList?jobId107&jobDirection0&workPlace0¤tPa…...
Scala Collection(集合)
Scala Collection(集合) Scala集合库是Scala语言的核心特性之一,它提供了一套丰富的数据结构来存储、管理和操作数据。Scala集合分为可变(mutable)和不可变(immutable)两种类型,每种类型都有其特定的用途和优势。本文将详细介绍Scala集合库的基本概念、常用集合类型以及…...
Go 语言 UUID 库 google/uuid 源码解析:UUID version4 的实现
google/uuid 库地址 本文将解析 googl/uuid 库中 UUID 变体10版本4的实现。 版本 4 的 UUID 采取完全随机的方式实现,简单来说就是将 UUID 中的 122 位全部随机填充(剩余的 6 位作标记位)。版本 4 的 UUID 存在一定的重复风险,但…...
秦皇岛网站制作专家教您简单建站/苏州百度 seo
你好,我是小马总,96年互联网创业者 今天探讨一个创业路上最重要的一个点,合伙生意到底能不能做? 能创业的人都是有魄力的 ,既然你能刷到这篇文章,说明你不是在创业的路上就是有了创业的想法,给…...
优秀的国外网站/西安抖音seo
需求:客户端界面需要一个软键盘进行操作 做了一个简易的例子进行展示。 html代码: <div id"container"> <div class"print-right"><div id"right-top" class"right-top"><div class&quo…...
做业务的网站/外链管理
我用的是phpci框架,本地服务器是Apache。class Wechatwo extends CI_Controller {public function __construct(){parent::__construct();$this->load->helper(url_helper);}public function wechat_val(){$timestamp $_GET[timestamp];$nonce $_GET[nonce]…...
济南做html5网站建设/百度seo什么意思
项目场景:python使用pymysql import pymysql# 建立数据库连接 conn pymysql.connect(hostlocalhost,port3306,userroot,password,charsetutf8 ) print(conn) # 获取游标 cursor conn.cursor() print(cursor)问题描述: 在pycharm连接的时候明明之前连…...
全国最大的源码平台/seo博客教程
Express 框架入门(二)Cookie、session、应用程序生成器一、Cookie 简介二、Cookie 特点三、Cookie 的使用四、加密Cookie五、cookie 综合案例六、Session 简单介绍七、Session 的工作流程八、express-session 的使用九、 express-session 的常用参数十、…...
美国主机网站建设/百度95099如何转人工
这里使用的是淘宝的接口 public class AddressUtil{ /** * * param content * 请求的参数 格式为:namexxx&pwdxxx * param encodingString * 服务器端请求编码。如GBK,UTF-8等 * return * throws UnsupportedEncodingException */ public static String getAddr…...