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 9:22:31

PyInstaller可执行文件逆向分析全攻略

PyInstaller可执行文件逆向分析全攻略 【免费下载链接】pyinstxtractor PyInstaller Extractor 项目地址: https://gitcode.com/gh_mirrors/py/pyinstxtractor PyInstaller逆向分析工具是专门用于解包PyInstaller打包的Python可执行文件的强大解决方案。无论是进行代码审…

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

VRM4U终极指南:3步在Unreal Engine 5中完美导入VRM角色

还在为Unreal Engine 5中VRM模型导入的各种问题而头疼吗?材质丢失、骨骼错位、动画不兼容...这些困扰无数开发者的难题,现在有了完美的解决方案。VRM4U插件作为Unreal Engine 5生态中的革命性工具,专门解决VRM模型导入的各种技术障碍&#xf…

作者头像 李华
网站建设 2026/6/10 10:58:32

第三方依赖审查:IndexTTS 2.0使用的库是否存在安全漏洞

第三方依赖审查:IndexTTS 2.0使用的库是否存在安全漏洞 在生成式AI技术席卷内容创作领域的今天,语音合成已不再是实验室里的高冷项目。从虚拟主播到有声读物,从短视频配音到智能客服,高质量、可定制的语音生成正成为数字内容生产的…

作者头像 李华
网站建设 2026/6/10 10:58:53

JPEGView终极指南:3分钟快速上手的免费图像查看器

JPEGView终极指南:3分钟快速上手的免费图像查看器 【免费下载链接】jpegview Fork of JPEGView by David Kleiner - fast and highly configurable viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimal GUI. Basic on-the-fly image …

作者头像 李华
网站建设 2026/6/10 14:14:38

品牌专有名词强调:IndexTTS 2.0如何突出读出关键名词

IndexTTS 2.0:如何让AI语音精准读出品牌专有名词 在短视频、虚拟主播和AIGC内容爆发的今天,我们早已不再满足于“能说话”的AI语音。用户想要的是——说得准、有情绪、对得上画面,还能把“iPhone 16”“Meta”这样的品牌名一字不差地念出来。…

作者头像 李华
网站建设 2026/6/10 10:50:14

如何实现跨平台应用兼容?5个轻量级替代方案深度解析

如何实现跨平台应用兼容?5个轻量级替代方案深度解析 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 你是否还在为不同操作系统间的应用兼容性而苦恼?传统的虚…

作者头像 李华