MySQL 体系结构

news2024/11/17 19:37:20

MySQL经典体系结构

MySQL连接:

MySQL Protocol(MySQL协议)
Socket (Unix Scoket)本地连接
比如:mysql -uroot -p123 -S /tmp/mysql.sock

TCP/IP(远程连接)
比如:mysql -uroot -p123 -h 10.0.0.51 -P3306

API (应用程序、开发)
Native API
C、PHP、JDBC、ODBC、.NET、Python、Go...

MySQL8.0 对比 5.7 一些功能差别:

- Metadata 结构变化

- 5.7 版本问题

- 两套数据字典信息(Server层 oldguo.frm,InnoDB 数据字典)

- DDL无原子化

- frm和innodb层会出现不一致

- 并发处理需要小心处理(MDL,dict_sys::mutex,dict_sys::rw_lock)

- 崩溃无法恢复

比如下面这个操作无法保证原子性 drop table a,c ;

- 8.0 变化

- 支持事务性DDL,崩溃可以回滚,保证一致。

下面操作可以保证一致性 drop table a,c;

- 保留一份数据字典信息,取消frm数据字典。

- 数据字典存放至InnoDB表中

- 采用套锁机制,管理数据字典的并发访问(MDL)

- 全新的Plugin支持

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

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

相关文章

大数据资源整合分析平台_企业大数据管理软件_大数据资源整合管理系统

在现如今大数据时代下,很多公司拥有大量的数据信息,这些数据繁多并且复杂,对于不懂技术的人员来讲,无疑是巨大的难题,这些数据背后存在着巨大的价值,我们可以利用大数据的方式,来提高数据的使用…

戴尔灵越14电脑U盘重装系统方法分享

戴尔灵越14电脑U盘重装系统方法分享。一些用户的戴尔灵越14电脑在进行了系统升级之后,出现了系统不兼容的情况,导致自己的电脑桌面出现了蓝屏的情况。那么这个情况下我们怎么去将系统进行重装呢?一起来看看U盘重装系统的方法吧。 准备工作&am…

详解前端页面性能测试方案——开源工具Lighthouse

相信绝大多数测试同学对于前端页面的性能测试都是通过使用各个浏览器的开发者工具进行抓包来查看响应中各种请求、js和图片的响应时间,然后把发现慢的点进行截图,然后汇总给开发人员。今天给大家介绍一款工具,不仅可以对页面性能进行打分&…

同步、异步、单工、双工、半双工有啥不同

1-同步、异步通信 串行通信通常情况下分为同步和异步通信,同步通信需要同步时钟信号,而异步通信则是不需要同步时钟信号的。 同步通信:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步通信:…

物联网架构实例—Ubuntu 安装RabbitMQ

1.安装前准备 1.1.更新apt-get源 apt-get update 1.2.erlang支持 rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang. apt-get install erlang-nox 1.3.查看erlang版本 erl 1.4.添加公钥 wget -O- https://www.rabbitmq.com/rabbitmq-release-…

SQL常用语句

SQL(Structured Query Language) 结构化查询语言,是用来访问和处理数据库的编程语言 使用SQL语言编写出来的代码叫做SQL语句 SQL语言只能在关系型数据库(MySQL,Oracle,SQL Sever)中使用。非关系型数据库(Mongodb)不支持SQL语言 在SQL语句中的关键字无所谓大小写&…

C++泛型算法

泛型算法copy()源码:自实现myCopy()find()源码:自实现myFind()sort()源码:自实现mySort()2个参数3个参数find_if自实现myFind_if()copy() 作用:将某容器的区间数据拷贝到指定指定容器的指定位置 前两个参数是普通的顺序型迭代器…

多线程(java)

1.线程相关概念 1.1程序(program) 是为完成特定任务、用某种语言编写的一组指令的集合。 简单的说:就是我们写的代码 1.2 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存空间。当我们使用迅雷…

前端在线写代码——打造一个自己的编辑器

前端在线写代码——打造一个自己的编辑器前言html格式化css、js格式化List item ) 前言 下载IDE编辑器占用太大,第三方在线编辑空间又给太小,于是乎自己动手开发一个。功能有 1、html格式化 2、css格式化 3、js格式化 4、导入包 5、导出html网页 6、自…

lombok原理

1.更简单的⽇志输出—lombok 每次都使⽤ LoggerFactory.getLogger(xxx.class) 很繁琐,且每个类都添加⼀遍,也很麻烦,这⾥讲⼀种更好⽤的⽇志输出⽅式,使⽤ lombok 来更简单的输出。 添加 lombok 框架⽀持。使⽤ slf4j 注解输出⽇…

终于弄明白了 RocketMQ 的存储模型

RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型 。 这篇文章,笔者按照自己的理解 , 尝试分析 RocketMQ 的存储模型,希望对大家有所启发。 1 整体概览 首先温习下 RocketMQ 架构。 整体架构中包含四种角色 : Producer :消息…

如何快速传输大文件:4 种大文件传输有效的方法

文件大小正在爆炸式增长,随之而来的挑战是如何仍然以快速、安全的方式发送。从这个意义上说,弄清楚如何快速传输大文件似乎是一项几乎不可能完成的任务。随着工作流程不断适应数字化,这对于自由职业者、业余视频编辑、后期制作公司和广播公司…

深挖产品护城河,鹿客科技打开成长天花板

2000-2010年,随着指纹识别技术开始应用于智能门锁,其产品应用领域也开始从酒店推广到普通家庭。2011年以来,随着人脸识别、生物识别技术的兴起,消费者对于产品的需求度不断提升,智能门锁行业也迎来一轮飞跃式发展。来源…

Visual Studio查看虚函数表C++内存模型

在其他选项这里写上/d1 reportAllClassLayout,它可以看到所有相关类的内存布局,如果写上/d1 reportSingleClassLayoutXXX(XXX为类名),则只会打出指定类XXX的内存布局。近期的VS版本都支持这样配置。 运行程序的话就会…

Git:在实际开发中的使用(够你用十年)

Repository 我们先来认识一下版本库——Repository,接下来我们所有提到的 Git 基础命令,都是基于版本库的。 那么什么是版本库呢?版本库又名仓库,英文名 repository,你可以简单理解成一个目录,这个目录里面…

AcWing 数学知识

质数 模板&#xff1a; // 试除法判断质数 bool is_prime(int x) {if (x < 2) return false;//只需枚举一部分 使得 i< x / i, 时间复杂度为√nfor (int i 2; i < x / i; i )if (x % i 0)return false;return true; }// 试除法分解质因数 void divide(int n) {fo…

免费的 AI 动作捕捉工具 #Rokoko Video

创建动画可能很棘手&#xff0c;但使用对了技术和工具&#xff0c;可以轻松实现看起来很棒且功能流畅的完美动画。“ 为每个创作者配备动捕的力量。”近期&#xff0c;Rokoko 通过推出免费的 AI 动作捕捉工具 Rokoko Video来兑现这一承诺。图片来源 &#xff1a;Rokoko为什么说…

CSS弹性盒子(flexbox)实用指南

CSS弹性盒子&#xff08;flexbox&#xff09;实用指南上一节&#xff1a;《CSS 浮动 及其应用 》| 下一节&#xff1a;《CSS网格布局&#xff08;grid&#xff09;实用指南 》jcLee95&#xff1a;https://blog.csdn.net/qq_28550263?spm1001.2101.3001.5343 邮箱 &#xff1…

复习:矩阵计算与自动求导

矩阵计算 矩阵计算就是讲矩阵如何求导数&#xff0c;所有优化模型的求解也是通过求导数实现的。 首先回忆初高中学习的导数知识&#xff0c;这属于标量的导数。 将导数拓展到不可微的情况&#xff0c;这就是亚导数。 将导数拓展到向量&#xff0c;这就是梯度。 向量对向量求…

java优化-代码重,让代码更优美和简洁

简言 在项目工作中&#xff0c;经常会有优化&#xff0c;有sql优化&#xff0c;项目架构优化&#xff0c;业务层优化&#xff0c;代码结构优化等&#xff0c;这些优化都是为了系统&#xff0c;易维护&#xff0c;易懂&#xff0c;易扩展。下面是我个人总结的一些经验分享与大家…