共计 2235 个字符,预计需要花费 6 分钟才能阅读完成。
这篇文章主要介绍“MySQL 几种内置文件的用法”,在日常操作中,相信很多人在 MySQL 几种内置文件的用法问题上存在疑惑,丸趣 TV 小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL 几种内置文件的用法”的疑惑有所帮助!接下来,请跟着丸趣 TV 小编一起来学习吧!
MySQL 几种文件的用法
日志文件
日志文件默认位于 data 目录下
long_query_time=2
log-slow-queries=
log-error=
log= C:\log.log
log-bin=
mysql-bin.index 文件(binary log index)的功能是记录所有 Binary Log 的绝对路径,保证 MySQL 各种线程能够顺利的根据它找到所有需要的 Binary Log 文件。
数据文件
1、“.frm”文件
与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等。不论是什么存储引擎,每一个表都会有一个以表名命名的“.frm”文件。所有的“.frm”文件都存放在所属的文件夹下面。
2、“.MYD”文件
“.MYD”文件是 MyISAM 存储引擎专用,存放 MyISAM 表的数据。每一个 MyISAM 表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和“.frm”文件在一起。
3、“.MYI”文件
“.MYI”文件也是专属于 MyISAM 存储引擎的,主要存放 MyISAM 表的索引相关信息。对于 MyISAM 存储来说,可以被 cache 的内容主要就是来源于“.MYI”文件中。每一个 MyISAM 表对应一个“.MYI”文件,存放于位置和“.frm”以及“.MYD”一样。
4、“.ibd”文件和 ibdata 文件
这两种文件都是存放 Innodb 数据的文件,之所以有两种文件来存放 Innodb 的数据(包括索引),是因为 Innodb 的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是独享表空间存放存储数据。独享表空间存储方式使用“.ibd”文件来存放数据,且每个表一个“.ibd”文件,文件存放在和 MyISAM 数据相同的位置。如果选用共享存储表空间来存放数据,则会使用 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 配置的最后,而且必须重启 MySQL 才能完成 ibdata 的添加工作。不过如果我们使用独享表空间存储方式的话,就不会有这样的问题,但是如果要使用裸设备的话,每个表一个裸设备,可能造成裸设备数量非常大,而且不太容易控制大小,实现比较困难,而共享表空间却不会有这个问题,容易控制裸设备数量。我个人还是更倾向于使用独享表空间存储方式。
切换数据库使用的引擎
CREATE TABLE 表名
(
字段 hellip; hellip;
) ENGINE=InnoDB
如果还不行,就直接到 MySQL 目录里的 my.ini 文件中把 default-storage-engine 这一行改过来,把默认的存储引擎改为 InnoDB,重启数据库服务器就行了。
Replication
1、master.info 文件:
master.info 文件存在于 Slave 端的数据目录下,里面存放了该 Slave 的 Master 端的相关信息,包括 Master 的主机地址,连接用户,连接密码,连接端口,当前日志位置,已经读取到的日志位置等信息。 www.2cto.com
2、relay log 和 relay log index
-relay-bin.xxxxxn 文件用于存放 Slave 端的 I /O 线程从 Master 端所读取到的 Binary Log 信息,然后由 Slave 端的 SQL 线程从该 relay log 中读取并解析相应的日志信息,转化成 Master 所执行的 SQL 语句,然后在 Slave 端应用。mysql-relay-bin.index 文件的功能类似于 mysql-bin.index,同样是记录日志的存放位置的绝对路径,只不过他所记录的不是 Binary Log,而是 Relay Log。
3、relay-log.info 文件:
类似于 master.info,它存放通过 Slave 的 I /O 线程写入到本地的 relay log 的相关信息。供 Slave 端的 SQL 线程以及某些管理操作随时能够获取当前复制的相关信息。
pid file conf file socket file
到此,关于“MySQL 几种内置文件的用法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!