标签: MySQL

本系列旨在提供一个从基础至进阶的 MySQL 系统学习路径。内容不仅涵盖了数据库核心理论、SQL语法深度解析,还包括了数据库约束、索引优化、事务管理以及高效数据库设计等关键实战技能。

36 篇文章

thumbnail
MySQL进阶12 — 备份与恢复
概述 本章,您将学习 MySQL 当中关于备份与恢复的内容,内容包括: 基本概念 MySQL 自带的逻辑备份与逻辑恢复 第三方物理备份工具 基本概念 从表空间的概念可知: 表空间是逻辑层与物理层的中间桥梁,它是用户逻辑对象(表、索引等)的存储空间,用来统一管理空间中的数据文件。 因此在备份数据时,就需要围绕逻辑层与物理层来实现。 逻辑备...
thumbnail
MySQL进阶11 — 锁机制5
概述 本章,您将学习到 MySQL 8 中有关锁机制的知识,内容包括: 锁机制的分类 演示 InnoDB 存储引擎的行锁 演示 InnoDB 存储引擎的表锁 锁的查看 有关乐观锁、全局锁和死锁的内容 MVCC 由于内容较多,本文档说明最后一部分内容 —— MVCC 基本概念 隔离级别(从低到高) 脏读 不可重复读 幻读 1(REA...
thumbnail
MySQL进阶10—锁机制4
概述 本章,您将学习到 MySQL 8 中有关锁机制的知识,内容包括: 锁机制的分类 演示 InnoDB 存储引擎的行锁 演示 InnoDB 存储引擎的表锁 锁的查看 有关乐观锁、全局锁和死锁的内容 MVCC 由于内容较多,本文档仅来说明乐观锁、全局锁和死锁的内容。 乐观锁 乐观锁:又名乐观并发控制(optimistic concurrency...
thumbnail
MySQL进阶09 — 锁机制3
概述 本章,您将学习到 MySQL 8 中有关锁机制的知识,内容包括: 锁机制的分类 演示 InnoDB 存储引擎的行锁 演示 InnoDB 存储引擎的表锁 锁的查看 有关乐观锁、全局锁和死锁的内容 MVCC 由于内容较多,本文档仅说明锁的查看。 查看事务以及事务的锁 查看当前 MySQL 实例的所有事务: select * from info...
thumbnail
MySQL进阶08 — 锁机制2
概述 本章,您将学习到 MySQL 8 中有关锁机制的知识,内容包括: 锁机制的分类 演示 InnoDB 存储引擎的行锁 演示 InnoDB 存储引擎的表锁 锁的查看 有关乐观锁、全局锁和死锁的内容 MVCC 由于内容较多,本文档来说明并演示 InnoDB 存储引擎的表锁。 InnoDB 的表锁 主要包括以下锁: 意向排他锁(IS) 意向共享...
thumbnail
MySQL进阶07 — 锁机制1
概述 本章,您将学习到 MySQL 8 中有关锁机制的知识,内容包括: 锁机制的分类 演示 InnoDB 存储引擎的行锁 演示 InnoDB 存储引擎的表锁 锁的查看 有关乐观锁、全局锁和死锁的内容 MVCC 由于内容较多,本文档只说明锁机制的分类以及演示 InnoDB 存储引擎的行锁 回顾事务 在前面《MySQL基础15 --- TCL》文章...
thumbnail
MySQL进阶06 — 索引2
概述 本章,您将学习到 MySQL 的索引知识,内容包括: 索引基本原理 磁盘与索引的关系 索引的使用语法与原则 本文档将介绍索引的使用语法以及原则 索引的具体划分 [admonition title="提示" icon="tint" color="blue"]在 MySQL 中,若无特殊说明,InnoDB 中的索引都特指 BTREE/B+TR...
thumbnail
MySQL进阶05 — 索引1
概述 本章,您将学习到 MySQL 的索引知识,内容包括: 索引基本原理 磁盘与索引的关系 索引的使用语法与原则 篇幅限制,本篇介绍索引的基本原理以及磁盘与索引的关系,作为一般性质的数据库使用人员,大致了解即可,不需要死记硬背。 索引基本原理 当一条复杂的 SQL 执行过慢时,我们通常从这方面去排查: 硬件的性能瓶颈。 使用如 top、hto...
thumbnail
MySQL进阶04 — 架构
概述 本章,您将了解 MySQL 当中的架构,内容包括: 解读 MySQL 的整个架构 InnoDB 存储引擎的内存结构 InnoDB 存储引擎的磁盘结构 这些内容仅作为拓展内容了解即可,并不需要读者死记硬背。 MySQL 的架构 MySQL 8 的四层架构: 连接层(有时也称 Client 层或应用层) SQL 层(有时也称 Server ...
thumbnail
MySQL进阶03 — 数据目录
概述 本章,您将学习 MySQL 的数据目录。 数据目录:存储数据库文件、表结构和索引等数据的核心位置 在前面 《10-A2-安装与启动相关》 文章中提到,初次使用 MySQL 需要执行初始化: Shell > /usr/local/mysql8/bin/mysqld --initialize --user=mysql --basedir=/...