• MySQL是通过文件系统对数据和索引进行存储的。
  • MySQL从物理结构上可以分为日志文件数据索引文件
  • MySQL在Linux中的数据索引文件和日志文件都在/var/lib/mysql目录下。
  • 日志文件采用顺序IO方式存储、数据文件采用随机IO方式存储。

首先可以查看mysql的文件在linux中的那个目录中,使用命令:SHOW VARIABLES LIKE '%datadir%';

  

  红色框中就是我的文件目录,进入到目录中能查看数据库文件。

数据文件

在上一篇mysql架构里面说到

InnoDB数据文件
    .frm文件:主要存放与表相关的数据信息,主要包括表结构的定义信息
    .ibd:使用独享表空间存储表数据和索引信息,一张表对应一个ibd文件。
    .ibdata文件:使用共享表空间存储表数据和索引信息,所有表共同使用一个或者多个ibdata文件。
MyIsam数据文件
    .frm文件:主要存放与表相关的数据信息,主要包括表结构的定义信息
    .myd文件:主要用来存储表数据信息。
    .myi文件:主要用来存储表数据文件中任何索引的数据树。

日志文件

日志文件包含:错误日志(errorlog)、二进制日志(bin log)、通用查询日志(general query log)、慢查询日志(slow query log)、

       重做日志(redo log)、回滚日志(undo log)、中继日志(relay log)

错误日志 : 默认是开启的,而且从5.5.7以后无法关闭错误日志,错误日志记录了运行过程中遇到的所有

严重的错误信息,以及 MySQL每次启动和关闭的详细信息。

二进制日志:binlog记录了数据库所有的ddl语句和dml语句,但不包括select语句内容,语句以事件的形

      式保存,描述了数据的变更顺序,binlog还包括了每个更新语句的执行时间信息。如果是

      DDL语句,则直接记录到binlog日志,而DML语句,必须通过事务提交才能记录到binlog

      日志中。 生产中开启

                      数据备份、恢复、主从
通用查询日志:记录所有的内容 耗性能 生产中不开启
慢日志查询: sql调优,定位select比较慢的语句 默认是关闭的。
      开启方法:
           开启慢查询日志
          slow_query_log=ON

          慢查询的阈值
          long_query_time=3
          日志记录文件如果没有给出file_name值, 默认为主机名,后缀为-slow.log。
          如果给出了文件名,
          但不是绝对路径名,文件则写入数据目录。
          slow_query_log_file=file_name
          

          记录执行时间超过long_query_time秒的所有查询,便于收集查询时间比较长的SQL语句

mysql物理结构的更多相关文章

  1. mysql数据库的安装及体系说明

    第1章 MySQL介绍 1.1 数据的定义 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质.状态以及相互关系等进行记载的物理符号或这些物理符号的组合,是可识别.抽象的符号 1.2 数据 ...

  2. MySQL简介及安装

    一.DBA工作内容及课程体系 二.MySQL课程体系介绍 三.DBA的职业素养 四.MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 04 MySQL发展 ...

  3. mysql -> 简介&体系结构_01

    数据库简介 数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作. 所谓“数据库”系以一定方式储存在一起.能予多个用户共享.具有尽可能小的 ...

  4. MySQL日志及索引

    MySQL物理结构: MySQL它是通过文件系统对数据进行储存和管理,从物理结构上分为日志文件和数据文件 日志文件: 日志文件记录了数据库操作的信息和一些错误信息,我们常用的日志文件有:错误日志.二进 ...

  5. MySQL架构和MySQL索引

    1.  MySQL架构 1.1         逻辑架构图 1.1.1   Connection Pool: 连接池 * 管理缓冲用户连接,线程处理等需要缓存的需求. * 负责监听对 MySQL Se ...

  6. 第三章 MySQL的多实例

    一.MySQL服务构成 1.MySQL程序结构 1.连接层 2.sql层 3.存储引擎层 2.MySQL逻辑结构 1.库 2.表:元数据+真实数据行 3.元数据:列+其它属性(行数+占用空间大小+权限 ...

  7. Mysql数据库-多实例主从复制-主从故障详解

    一.mysql结构 1.实例 1.什么是单实例 一个进程 + 多个线程 + 一个预分配的内存空间 2.多实例 多个进程 + 多个线程 + 多个预分配的内存空间 ](http://shelldon.51 ...

  8. mysql 的物理结构

    mysql 的物理结构 跟着小辉老师学来的mysql知识,由于本人记性不好,但又觉得它很重要故把它记了下来,方便自己以后回忆,也希望能对大家有所帮助. 以下内容来自 小辉 老师的mysql教程,和部分 ...

  9. MySQL ·InnoDB 文件系统之文件物理结构

    从上层的角度来看,InnoDB层的文件,除了redo日志外,基本上具有相当统一的结构,都是固定block大小,普遍使用的btree结构来管理数据.只是针对不同的block的应用场景会分配不同的页类型. ...

随机推荐

  1. python学习基础之变量

    变量名只能包含字母.数字和下划线.变量名可以字母或下划线打头,但不能以数字打 头,例如,可将变量命名为message_1,但不能将其命名为1_message. 变量名不能包含空格,但可使用下划线来分隔 ...

  2. ASP.NET Core 中jwt授权认证的流程原理

    目录 1,快速实现授权验证 1.1 添加 JWT 服务配置 1.2 颁发 Token 1.3 添加 API访问 2,探究授权认证中间件 2.1 实现 Token 解析 2.2 实现校验认证 1,快速实 ...

  3. 从火箭发场景来学习Java多线程并发闭锁对象

    从火箭发场景来学习Java多线程并发闭锁对象 倒计时器场景 在我们开发过程中,有时候会使用到倒计时计数器.最简单的是:int size = 5; 执行后,size—这种方式来实现.但是在多线程并发的情 ...

  4. Linux中MySQL二进制安装步骤

    MySQL二进制安装步骤 安装依赖环境 [root@node3 ~]# yum -y install libaio 将mysql-5.7.26-linux-glibc2.12-x86_64.tar.g ...

  5. 组件/ 外层数据初始化时候,不应该触发 on-change 事件

    组件/ 外层数据初始化时候,不应该触发 on-change 事件 watch: { value (value) { this.noOnChange = true // 外层传值 不触发on-chang ...

  6. this.baseInfoList = [...this.baseInfoList] 所有和数组有关的操作,最后一定都展开一次,否则就没有双向绑定!!

    this.baseInfoList = [...this.baseInfoList] 所有和数组有关的操作,最后一定都展开一次,否则就没有双向绑定!! this.baseInfoList = [... ...

  7. JS事件流模型

    JS事件流模型 事件捕获Event Capturing是一种从上而下的传播方式,以click事件为例,其会从最外层根节向内传播到达点击的节点,为从最外层节点逐渐向内传播直到目标节点的方式. 事件冒泡E ...

  8. [最短路,floyd] Codeforces 1202B You Are Given a Decimal String...

    题目:http://codeforces.com/contest/1202/problem/B B. You Are Given a Decimal String... time limit per ...

  9. 如何让Docker镜像飞起来

    前言 Docker用起来非常爽,尤其是用于DevOps实践时.但是,当你在国内或者本地拉取镜像时,经常会碰到各种“便秘”——要么镜像拉取缓慢,要么时断时连,要么连接超时! 当我们的镜像又比较大时(比如 ...

  10. 算法训练 瓷砖铺放 【递归】java

      算法训练 瓷砖铺放   时间限制:1.0s   内存限制:512.0MB     锦囊1 锦囊2 锦囊3 问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为 ...