MySql的目录简介

本文详细介绍了MySQL的目录结构,包括bin中的可执行文件、data用于数据存储和日志、include的头文件、lib的库文件、share的多语言支持以及my.ini配置文件。特别关注了InnoDB存储引擎的ibdata1、ib_logfile和Redolog/Undolog日志机制。

 MySQL的目录结构可以分为以下几个主要部分:

  1. bin目录:此目录下放置着一些可执行文件,例如mysql.exe、mysqld.exe、mysqlshow.exe等,它们是MySQL服务器和客户端工具的核心文件。
  2. data目录:此目录用于存放数据库和日志文件。它是MySQL服务器存储和操作数据的主要区域。
  3. include目录:这个目录下放置的是头文件,例如mysql.h、mysql_ername.h等。这些头文件主要用于MySQL的客户端工具和第三方应用程序进行函数调用和数据访问。
  4. lib目录:此目录用于放置一系列库文件,这些库文件包含了MySQL服务器和客户端工具所需的函数和数据资源。
  5. share目录:这个目录用于存放字符集、语言等信息,它为MySQL提供了多语言支持。
  6. my.ini文件:这是MySQL数据库中使用的配置文件。它可以被用来修改MySQL服务器的各种设置和参数。
  7. 针对不同规模数据库的配置文件:MySQL提供了多个针对不同规模数据库的配置文件,包括my-huge.ini(适合超大型数据库)、my-large.ini(适合大型数据库)、my-medium.ini(适合中型数据库)和my-small.ini(适合小型数据库)。这些配置文件可以方便地满足不同规模和需求的数据库设置。
  8. my-innodb-heavy-4G.ini:这个配置文件表示该配置文件只对InnoDB存储引擎有效,而且服务器的内存不能小于4GB。

MySQL的data目录主要包括以下文件夹:

  1. ibdata1:InnoDB存储引擎的共享表空间文件,包含了InnoDB存储引擎的所有数据。
  2. ib_logfile0和ib_logfile1:这两个文件是用于InnoDB存储引擎的日志文件,用于记录所有更改,以及重做和撤消任何更改。
  3. performance_schema:包含了一些系统数据库和性能模式数据库,这些数据库包含有关MySQL服务器和性能的各种信息和元数据。
  4. db1和db2:存储所有数据库的文件夹。如果你创建了一个新的数据库,那么会在data目录下创建一个新的与数据库同名的目录,例如db3。

MySQL的data目录下有以下几个常见文件:

  1. .frm文件:存储着每个表的元数据(meta)和表结构等信息。
  2. .ibd文件:当存储引擎是InnoDB,且设置innodb_file_per_table=ON时,mysql会在数据库目录创建ibd文件,该文件也叫作独立表空间。每创建一个新表就会创建一个对应的ibd文件,文件名为“表名.ibd”。
  3. .myd文件:存储着数据库的磁盘文件。
  4. .myi文件:存储着数据库的索引信息。

 InnoDB的事务日志包括Redo log和Undo log,存放位置如下: 

  1. Redo log存放在日志文件ib_logfile*里面,默认日志文件在mysql目录的data子目录下,ib_logfile1和ib_logfile2两个文件,大小相同,循环使用。Redo log是物理日志,记录数据页更新的内容。Redo log不是随着事务提交才写入文件的,而是从事务开始就逐步写入文件了(即使事务还没提交)。
  2. Undo log则是存放在共享表空间文件里面(ibdata*)。   

MySQL的ibdata1文件是InnoDB存储引擎的共享表空间文件,它通常存放在MySQL的数据目录下。在MySQL的配置文件my.ini中,有一个名为datadir的参数,它指定了MySQL数据文件的存放位置。默认情况下,ibdata1文件会在这个目录下创建,其默认文件名为ibdata1。
综上所述:
Mysql
 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值