news 2026/6/10 15:04:56

MySQL_基础知识

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL_基础知识

2 架构及原理

2.1 架构

MySQL 分为服务层和存储引擎层两部分.

2.1.1 参考列表

CSDN:SQL语句执行原理https://blog.csdn.net/xzx4959/article/details/106878300

2.1.2 存储引擎层

负责数据的存储和提取.

2.1.3 服务层

涵盖MySQL的大多数核心服务功能,以及所有的内置函数,所有跨存储引擎的功能(比如存储过程、触发器、视图等).

(1) 连接器:负责跟客户端建立连接、获取权限、维持和管理连接.

(2) 查询缓存:先查缓存后查数据库,新版已删除此模块.

(3) 分析器:根据语法规则做语法分析,判断输入的这个SQL是否满足MySQL语法.

(4) 优化器:在表里面有多个索引的时候,决定使用哪个索引;或者在一个语句有多表关联的时候,决定各个表的连接顺序.

(5) 执行器:判断对该表有没有操作权限,有则执行语句.

2.2 日志原理

2.2.1 redo log

存储引擎层日志.当有一条记录需要更新时,InnoDB 引擎会先把记录写到 redo log 里面,并更新内存.随后InnoDB引擎会在适当的时候,将这个操作记录更新到磁盘里面.

2.2.2 binlog

(1) 概念

binlog(binary log) 是 Server层二进制日志,以事件形式记录了除查询语句外所有的 DDL 和 DML 语句,还包含语句执行消耗的时间.binlog是事务安全型的.

(2) 开启 binlog

①修改/etc/my.cnf.

#设置binlog格式 binlog_format=row # 监控指定的数据库,未完全解决 binlog-do-db=test # 设置 server_id server_id=1

②重启MySQL.

③查看binlog是否正确启动.

show variables like 'binlog_format%';

2.2.3 主从复制原理

①Master 主库修改数据,并将改变记录写到binlog中;

②Slave 从库向主库发送dump协议,将主库的 binlog 日志拷贝到它的中继日志(relay log);

③最后从库读取并重做中继日志中的事件,将改变的数据同步到自己的数据库.

2.3 元数据

(1) 查询没有主键的表

博客园:mysql 查询没有主键的表https://www.cnblogs.com/cheyunhua/p/16033349.html

-- information_schema 库中存储了各个库与表的结构 -- TABLE_SCHEMA是库名,TABLE_NAME就是表名 -- information_schema.TABLE_CONSTRAINTS 表中存储了表相关的约束,CONSTRAINT_TYPE字段为PRIMARY KEY值的就是拥有主键的表 SELECT a.TABLE_SCHEMA, a.TABLE_NAME FROM ( SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ( 'mysql', 'information_schema', 'performance_schema', 'sys', 'sysdb' )) AS a LEFT JOIN ( SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_SCHEMA NOT IN ( 'mysql', 'information_schema', 'performance_schema', 'sys', 'sysdb' )) AS b ON a.TABLE_SCHEMA = b.TABLE_SCHEMA AND a.TABLE_NAME = b.TABLE_NAME WHERE b.TABLE_NAME IS NULL;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 19:30:31

Creality Print 6.0:3D打印新手必备的智能切片软件指南

Creality Print 6.0:3D打印新手必备的智能切片软件指南 【免费下载链接】CrealityPrint 项目地址: https://gitcode.com/gh_mirrors/cr/CrealityPrint 想要轻松入门3D打印却苦于复杂的切片设置?Creality Print 6.0正是为新手量身打造的智能切片解…

作者头像 李华
网站建设 2026/6/10 4:23:45

Platinum-MD终极指南:现代化MiniDisc音乐管理完整解决方案

Platinum-MD终极指南:现代化MiniDisc音乐管理完整解决方案 【免费下载链接】platinum-md Minidisc NetMD Conversion and Upload 项目地址: https://gitcode.com/gh_mirrors/pl/platinum-md 在数字音乐盛行的今天,Platinum-MD作为一款免费开源的N…

作者头像 李华
网站建设 2026/6/10 19:35:51

汽车动力传动系统感应技术全解析

目录 一、感应原理(测什么?为什么测?) 二、实现方案(怎么测?主流技术) 1. 转速/位置感应方案 2. 扭矩感应方案 3. 温度感应方案 4. 压力感应方案 5. 振动/爆震感应方案 三、发展趋势与挑…

作者头像 李华
网站建设 2026/6/10 19:36:09

FPGA硬件加速实战:深度解析卷积神经网络边缘计算方案

FPGA硬件加速实战:深度解析卷积神经网络边缘计算方案 【免费下载链接】CNN-FPGA 使用Verilog实现的CNN模块,可以方便的在FPGA项目中使用 项目地址: https://gitcode.com/gh_mirrors/cn/CNN-FPGA 在当前人工智能技术快速发展的背景下,F…

作者头像 李华
网站建设 2026/6/10 9:43:23

大规模语音语料库需求:训练IndexTTS 2.0需要多少数据

大规模语音语料库需求:训练IndexTTS 2.0需要多少数据 在短视频、虚拟主播和AIGC内容爆发的今天,一个让人“声临其境”的语音合成系统,早已不再是科研实验室里的奢侈品。B站开源的 IndexTTS 2.0 就像一记重拳,打进了高质量语音生成…

作者头像 李华
网站建设 2026/6/9 15:17:58

向后兼容承诺:老用户能否继续使用旧版IndexTTS 2.0功能

向后兼容承诺:老用户能否继续使用旧版IndexTTS 2.0功能 在内容创作日益自动化、虚拟交互不断深化的今天,语音合成技术早已不再是“能说话就行”的初级工具。对于视频UP主、AI主播开发者和有声书制作人而言,他们真正需要的是——一句话说得像…

作者头像 李华