Mysql的物理文件组成

2023-11-16


一.日志文件
1.1 错误日志
    记录了mysql运行过程中较为严重的错误信息,以及启动和关闭的信息。
默认命名hostname.err
可以在参数文件中加上 --log-error[=file_name]修改目录名和文件名
flush logs 命令: 备份旧日志文件并生成新的日志文件。备份文件名以'.old'结尾
2. 二进制日志: Binary Log & Binary Log Index
   binlog,在参数文件中添加"--bin-log[=file_name]"打开binlog
   binlog:记录的是操作mysql的所有修改数据库的操作。
   
   binlog附加选项参数
 --max_binlog_size : binlog的日志文件大小,一个日志满了后会重新写入一个文件。
 --binlog-do-db=db_name : 对某个db_name记录bin-log日志
 --binlog-ignore-db=dbname : 与--binlog-do-db=db_name 完全相反,忽略db_name的binlog日志
 
 mysql-bin.index 文件(binary log index)记录所有的Binary Log 的绝对路径
 
3.更新日志:update log 
功能跟binlog类似,以文本方式记录。mysql 5.0版本后很少使用更新日志了。
 
4.查询日志
   记录mysql中所有的query,通过"--log[=fina_name]"来打开该功能。记录了所有的query
包括select,所以体积很大,开启后对性能有较大的影响。慎用,一般用于跟踪某些特殊的sql性能
才会短暂开启该功能。默认的查询日志文件名为hostname.log
5.慢查询日志: slow query log 
记录的是执行时间长的sql,也就是常说的slow query ,通过设 --log-slow-queries[=file_name]
来打开该功能,并设置记录位置和文件名,默认文件名为hostname-slow.log 
  格式为文本,记录了执行时间,消化时间,执行用户,链接主机信息等
6.innodb的在线redo日志:innodb redo log
  redo记录了innodb所做的所有物理变更和事物信息,通过redo和undo信息。Innodb保证了在任何情况下
的事物的安全性。 默认存放在data目录下,可以通过innodb_log_group_home_dir来更改设置日志的存放位置
通过innodb_log_files_in_group设置日志的数量
mysql> show variables like 'innodb_log_files_in_group';
+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| innodb_log_files_in_group | 2     |
+---------------------------+-------+
1 row in set (0.00 sec)
二.数据文件
mysql每一个数据库都都会在定义好的数据目录下存在以数据库名字命名的文件夹, 用来存放该数据库中各种表的数据文件。没个数据文件的扩展名不一样。如 MyISAM用 ".MYD"作为扩展名,innodb用".ibd",Archive用"".arc,CSV用".csv"等等
1.frm文件
  与表相关的元数据信息存放在.frm文件中。包括表结构定义信息都能。不论是什么存储引擎, 每个表都会有一个以表名命名的.frm文件。所有的.frm文件都存放在所属数据库的文件夹下面。
2.myd文件
  .myd文件是MyISAM存储引擎专用,存放MyISAM表的数据。每一个MyISAM表都会有一个.MYD文件 与之对应,同样存放于所属数据库的文件夹下,和".frm"文件在一起
3.myi文件
 .myi文件也是专属于MyISAM存储引擎的,主要存放MyISAM表索引相关信息。对于MyISAM存储来说, 可以被cache的内容主要来源于.myi文件中。每一个MyISAM表对应一个.MYI文件.
4.ibd文件和ibdata文件
  这两种文件都是存放innodb的数据文件,之所以有两种文件存放innodb的数据(包括索引),是因为 innodb的数据存储方式能通过配置来决定是使用共享表空间存放数据,还是独享表空间存储数据。
独享表空间存储使用.idb文件存储。且每个表一个单独.idb文件;如果用共享存储空间存放数据,则会使用 ibdata文件存放,所有表共同使用一个ibdata文件。
ibdata文件可通过 innodb_data_home_dir 和 innodb_data_file_path 两个参数共同配置组成;
innodb_data_home_dir:配置数据文件存放目总目录
innodb_data_file_path :配置每一个文件的名称
也可以不用 innodb_data_home_dir 直接在innodb_data_file_path 中使用绝对路径 innodb_data_file_path可以一次配置多个ibdata文件。可以指定大小,自动扩展,但是innodb 限制了仅仅只有最后一个ibdata文件能够配置成自动扩展类型。当我们需要添加新的ibdata文件的时候 只能添加在 innodb_data_file_path 配置的最后,而且必须重启才能完成ibdata的添加工作。不过我们 使用独享表空间存储方式的话,就不会有这养的问题,但是用裸设备,每个标一个裸设备,可能造成裸设备 数量非常大,而且不容易控制大小,实现比较困难。
5.Replication相关文件
1.master.info文件
   master.info文件存放于Slave端的数据目录下,里面存放了该Slave的Master端的相关信息。包括
Master的主机地址,链接用户,链接密码,链接接口,当前日志位置,已经读取到的日志位置等信息。
2.relay log和relay log index 
mysql-relay-bin.xxxn文件用于存放Slave端I/O线程从Master端读取到binlog信息,然后由Slave端的, SQL线程从该relay log 中读取并解析相应的日志信息,转化成Master所执行的SQL语句,然后在Slave端 应用
mysql-relay-bin.index 文件的功能 类似于mysql-bin.index同样记录日志的存放未指定绝对路径,relay log路径
3.relay-log.info 文件
类似于master.info,它存放通过Slave的I/O线程写入到本地的relay log 的相关信息。供Slave端的sql线程以及 某些管理操作随时能够获取当前复制相关信息。
三.其他文件
1. system config file 
mysql系统配置文件my.cnf 在linux/Unix下默认存放在/etc目录下。
windows环境一般存放在c:/windows目录下面。my.cnf 文件包含多种参数组(group)
每一种参数组都通过中括号给定了固定组名,如[mysqld]组中包含了服务器启动的时候的
初始化参数,[client]组中包含着客户端工具程序可以读取的参数,此外还有其他针对于各种客户端软件
的特定参数组,如mysql程序使用[mysql],mysqlchk使用的[mysqlchk]等等。
2.pid file
pid file 是mysqld应用程序在Unix/Linux环境下的一个进程文件,和许多其他Unix/Linux服务端程序一样,
存放自己的进程id.
3.socket file
socket file文件也是在Unix/Linux 环境下才有的,用户在Unix/Linux 环境下客户端链接可以不通过 tcp/ip 网络而直接用unix socket 来链接Mysql

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql的物理文件组成 的相关文章

随机推荐

  • 区块链之java调用智能合约(二)部署智能合约

    前言 上一节 已经说过 如何的创建一个合约 如何编译合约 然后在java中调用 但是呢 这些还远远不够 那么还差哪些呢 现在就是如何将创建的智能合约部署的对应的共链 私链 测试链中了 需要部署后 才能真正的使用 现在就讲讲如何部署智能合约
  • linux下gcc的使用教程,Linux下GCC使用方法简介

    编译 第一步 是进行预编译 使用 E参数可以让GCC在预处理结束后停止编译过程 gcc E hello c o hello i 预处理的宏定义插入到hello i中 第二步 是将hello i编译为目标代码 这可以通过使用 c参数来完成 g
  • C++使用string的大数运算(6)模加模减模乘模幂

    本次项目目标 使用C 完成对于大数的相关运算 项目要点 1 大数指的是远超long long int的数据 2 将大数用矩阵进行存储 并通过矩阵实现运算 3 本人采用字符串进行存储 应注意char的特点 比如 char a 161 cout
  • 数据挖掘:银行评分卡制作——数据分箱、WOE、IV的意义

    在银行评分卡的项目中 通常都会需要把数据分箱 分箱后并不是对数据进行哑变量处理 而是用WOE值去替换 再放入模型中 学习的过程中会对这些操作有些疑问 比如 数据分箱有什么意义 WOE和IV值是干什么的 这里对这些数据处理的意义进行一个说明
  • [OpenAirInterface实战-6] :OAI在github中源代码的存放结构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 OpenAirInterface实战 6 OAI在github中源代码的存放结构 文火冰糖 王文兵 的博客 CSDN博客 目录 第1章 基本
  • Zookeeper的常见面试题

    1 Zookeeper 1 1 Zookeeper基本概念 Zookeeper作为一个优秀高效且可靠的分布式协调框架 ZooKeeper 在解决分布式数据一致性问题时并没有直接使用Paxos算法 而是专门定制了一致性协议叫做 ZAB Zoo
  • 芯片低功耗设计原则

    原则1 按照自顶向下 从架构级到门级 的方法 在不同设计层次上对功耗进行优化 设计层次越高 优化所能达到的效果越好 原则2 从系统级着眼全局 从细节处精打细算 从产品解决方案角度而不局限于芯片本身来进行功耗预算 并根据功耗的分析结果 优化系
  • xxl-job任务详解

    文章目录 任务管理 新增任务页面字段释义 1 1 路由策略 1 2 运行模式 BEAN模式 GLUE模式 1 3 阻塞处理策略 1 4 子任务ID 1 5 JobHandler 1 6 Cron 1 7 任务超时时间 任务操作 任务管理 新
  • labview与matlab接口,LabVIEW Comms与MATLAB®的互联接口

    为了复用现有的MATLAB 代码 LabVIEW Communications System Design Suite LabVIEW Comms 新增了MATLAB专用接口的功能 无线原型的开发者可使用已有的MATLAB函数或脚本 将其连
  • 图片占位符在线工具

    简介 在前端的开发中 有时需要加载各种尺寸的图片 而在开发阶段 这些真实的图片可能并未制作完成 因此 我们可以使用图片占位符工具生成假的图片进行替代 本文介绍一款十分灵活的图片占位符工具 您只需在调用API服务时修改图片尺寸参数就可以生成不
  • 机器学习入门教学——可解释性

    1 前言 近年来 机器学习模型被广泛地应用到现实生活中的一些重要领域 如面部识别 自动驾驶 语言处理和智慧医疗等 然而 机器学习模型就像一个黑盒子 给予一个输入 就能得到一个决策结果 但是我们并不知道模型是如何做决策的 因此 可解释性旨在帮
  • Struts2标签与jsp页面Java代码的值相互使用

    业务需求 Struts标签使用Jsp页面中的list的值 java代码使用Struts传来的值
  • 从ChatGPT与New Bing看程序员为什么要学习算法?

    文章目录 为什么要学习数据结构和算法 ChatGPT与NEW Bing 的回答 想要通关大厂面试 就不能让数据结构和算法拖了后腿 业务开发工程师 你真的愿意做一辈子CRUD boy吗 对编程还有追求 不想被行业淘汰 那就不要只会写凑合能用的
  • 51单片机PCA模块配置

    PCA模块是 可编程计数器阵列 的缩写 英文名称是 Programmable Counter Array 以下的说明均以SILICON LAB生产的C8051系列微型控制器为例 PCA包括1个16位 定时器 计数器 和5个 捕获 比较模块
  • 动态规划算法(背包问题)

    1 应用场景 背包问题 背包问题 有一个背包 容量为4磅 现有如下物品 1 要求达到的目标为装入的背包的总价值最大 并且重量不超出 2 要求装入的物品不能重复 2 动态规划算法介绍 1 动态规划 Dynamic Programming 算法
  • Python datetime模块中strptime和strftime的区别和使用方法

    strptime和strftime是两个比较容易搞混的函数 今天恰好用到 在这里做一个总结 strptime p表示parse 表示分析的意思 所以strptime是给定一个时间字符串和分析模式 返回一个时间对象 strftime f表示f
  • 【C++技能树】多态解析

    Halo 这里是Ppeua 平时主要更新C 数据结构算法 Linux与ROS 感兴趣就关注我bua 文章目录 0 多态的概念 0 1 多态的定义 1 重写 2 Final与Override 3 抽象类 4 多态中的内存分布 4 1虚表存在哪
  • 夜神模拟器-软件apk存放目录

    1 打开文件管理器 2 点sdcard 3 点tencent 4 点tassistant 5 点apk 6 我们下载好的apk就在这个位置 我们每安装好这个apk后 包将会被自动删除 所以图片中没有显示
  • JUC常用类解析

    CountDownLatch类 CountDownLatch 英文翻译为倒计时锁存器 是一个同步辅助类 在完成一组正在其他线程中执行的操作之前 它允许一个或多个线程一直等待 CountDownLatch有一个正数计数器 countDown
  • Mysql的物理文件组成

    一 日志文件 1 1 错误日志 记录了mysql运行过程中较为严重的错误信息 以及启动和关闭的信息 默认命名hostname err 可以在参数文件中加上 log error file name 修改目录名和文件名 flush logs 命