1.mysql的2种连接方式
TCP/IP 方式(远程 本地):
mysql -uroot -ppassword -h 10.0.0.51 -P3306
Socket方式(仅本地):
mysql -uroot -ppassword -s /tmp/mysql.sock
2.关于实例
实例=Mysqld + Master Thread + 干活的Thread + 预分配的内存结构
实例:MySQL数据库由后台线程及一个共享内存区组成,数据库实例才是真正用于操作数据库文件
的程序集,是一个动态概念。
在MySQL中实例和数据库的关系通常是一一对应的,即一个实例对应一个数据库,但是现在越来越
多的场景使用多实例,也就是一个数据库被多个数据库实例使用多情况。
Mysql被设计成一个单进程多线程架构的数据库,所以在操作系统上表现就是一个进程。
3.结构化的查询语言
DQL 数据查询语言
DDL 数据定义语言
DML 数据操作语言
DCL 数据控制语言
4.mysqld的三层
5.mysql的逻辑存储结构
库
表
6.mysql的物理存储结构
库 以文件夹的形式存在
我们尝试在mysql的目录中新建一个文件夹如testfolder,此时我们在showdatabases 可以发现了
多了一个testfolder的库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| testfolder |
+--------------------+
5 rows in set (0.01 sec)
表
MyISAM (慢慢被淘汰)
比如 user表,一共是一个3个文件来存储这张表的信息
user.frm 存储表的结构(列 列属性)
user.MYD 存储数据记录
user.MYI 存储索引
InnoDB(默认存储类型)
比如 timezone表
time_zone.frm 存储表的结构(列 列属性)
time_zone.ibd 存储的数据记录和索引
除了上面2个文件外,还有一个ibdata1文件 用来存储数据字典信息(元数据,数据库启动时自动收集关于这张表的属性)
7.InnoDB 段 区 页
上面提到的ibd文件,在mysql使用它的时候,会类似于格式化的方式(用存储引擎格式化)使用
,格式化后的idb文件的每个块(page)的大小是16KB,一般来说当写入行数据时一次会向系统申
请64个页,即一兆的空间,这个一兆的文件又会被称为区。mysql的表根据存储需求,会有多个区
构成,我们又把表称之为一个段
一般情况下 (非分区表)
一个表就是一个段
一个段由多个区构成
一个区包含64个连续的16K的页也就是1M大小
也可以包含32个连续的32K的页大小还是1M
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)