前言感悟:我个人是比较不喜欢只会用,不太懂为什么的这么用,而且有的时候很多官方术
语让人难以读懂, 这里我会用比较大白话的方式,让我自己也能让网友们更加理解,如果书写哪里有误,欢迎大家指出((,,´•ω•)ノ"(´っω•`。)) 从入门开始啦
推荐一个学习mysql的视频 小白入手也可 很详细
宋红康mysql入门到高级课程
常见目录结构使用的基本命令(Linux下)
1.1数据库文件的存放路径
show variables like 'datadir'
/usr/bin 目录下存储的一般是命令就相当于bin目录下的可执行文件一样
2.配置文件目录:
/usr/share/mysql-8.0(命令及配置文件),/etc/mysql(如my.cnf(比较关键)
配置信息如下:
服务器基本配置:如服务器ID、端口、主机名等。
日志配置:如错误日志、查询日志、慢查询日志等。
缓冲池配置:如缓冲池大小、缓冲池类型等。
连接和并发配置:如最大连接数、最大并发线程数等。(一般公司运维会配置好,了解下即可)
安全配置:如设置MySQL的根密码、限制远程访问等。
存储引擎配置:如设置默认存储引擎、存储引擎特定的参数等。
表在文件系统中的表示:
在a数据库中创建b表
MYSQL存储引擎是innodb时
db.opt 这个文件包含了与数据库选项相关的信息,比如数据库的字符集、排序规则等。它并不直接存储数据,而是存储了数据库的一些配置选项。
5.7版本和8.0版文件生成区别:
● 5.7版本: 在创建表的时候,存储引擎会在文件系统中生成.frm 文件,存储表结构,
数据存储分为两种情况
1.会存在系统空间总,idbdata1中 大小12k,可伸缩
2.存在独立表空间, .ibd文件中,
● 8.0以上版本:
表结构+数据+字符集啥的,都存在.idb中
MyISam中
5.7版本
.frm 存储表结构
.MYD data数据
.MYI 索引
8.0 版本:
.sdi ==上面5.7版本 frm 存储表结构
.MYD data数据
.MYI index索引数据
我会思考的问题
1.存储引擎的作用是什么呢?和文件系统之间的关系?
存储引擎负责管理数据的存储和检索会将数据存储在文件系统上的文件中(文件系统就相当于操作系统,因为数据是存在硬盘中的实实在在的)。并由InnoDB引擎负责管理和访问,在需要时检索数据,比如CURD操作(增删改查)实际上是由数据库管理系统(DBMS)的存储引擎执行的
2.如果是安装在我们系统上的mysql,window版本的,执行一条命令,是不是需要mysql和电脑上的操作系统进行交互?(可先暂时了解下,讲的大体流程)
当你在Windows系统上安装MySQL并执行一条命令时,MySQL服务器(DBMS)会与Windows操作系统进行交互。如果使用InnoDB存储引擎,它会操作操作系统将数据写入硬盘上。具体来说,当你执行一条写入数据的命令时(比如插入数据),MySQL服务器会将数据写入内存缓冲区,然后InnoDB存储引擎会将数据写入硬盘上的数据文件中