news 2026/4/16 10:39:15

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/4/14 13:08:48

Wwise音频处理实战突破:游戏音效完全解包与替换指南

还在为游戏音频文件无法编辑而烦恼吗?Wwise音频工具为你提供了完整的解决方案!无论你是游戏开发者、音频工程师,还是音效爱好者,这款强大的工具都能帮你轻松处理Wwise SoundBank和File Package文件,实现音效的个性化定…

作者头像 李华
网站建设 2026/4/15 9:11:46

角色性格延续:保持虚拟人物在不同对话中的语气一致

角色声音的“人格延续”:如何让虚拟角色始终如一地说话 在数字内容爆炸式增长的今天,一个虚拟主播换了几任配音演员后声音不统一,一段AI生成的动画台词与口型对不上,或是同一个游戏角色在不同剧情中情绪割裂——这些看似细小的问题…

作者头像 李华
网站建设 2026/4/12 12:29:36

西安电子科技大学研究生学位论文XeLaTeX模板终极使用指南

西安电子科技大学研究生学位论文XeLaTeX模板终极使用指南 【免费下载链接】xdupgthesis [停止维护 请使用note286/xduts]西安电子科技大学研究生学位论文XeLaTeX模板 项目地址: https://gitcode.com/gh_mirrors/xd/xdupgthesis 作为西安电子科技大学研究生学位论文的官方…

作者头像 李华
网站建设 2026/4/10 8:41:22

3分钟掌握JSON编辑器:从入门到精通的完整教程

在当今数据驱动的时代,JSON已成为Web开发、API交互和配置管理的标准格式。但面对复杂的嵌套结构,传统的文本编辑器往往力不从心。这就是JSON编辑器大显身手的时刻——一个功能强大的Web工具,能够以可视化方式编辑、格式化和验证JSON数据。 【…

作者头像 李华
网站建设 2026/4/12 0:25:35

唇形同步准备:为后续使用Wav2Lip等工具提供音频输入

唇形同步准备:为后续使用Wav2Lip等工具提供音频输入 在短视频、虚拟主播和AIGC内容创作井喷的今天,一个看似微小却极其关键的问题正困扰着无数创作者:嘴型对不上声音。无论是用TTS生成旁白,还是给动画角色配音,一旦语音…

作者头像 李华
网站建设 2026/4/15 20:53:36

tsMuxer:终极视频流封装工具,快速转换多媒体格式

tsMuxer:终极视频流封装工具,快速转换多媒体格式 【免费下载链接】tsMuxer tsMuxer is a transport stream muxer for remuxing/muxing elementary streams, EVO/VOB/MPG, MKV/MKA, MP4/MOV, TS, M2TS to TS to M2TS. Supported video codecs H.264/AVC,…

作者头像 李华