当前位置:Gxlcms > 数据库问题 > MySQL学习笔记-数据库文件

MySQL学习笔记-数据库文件

时间:2021-07-01 10:21:17 帮助过:2人阅读




MySQL主要文件类型有如下几种


参数文件:my.cnf——MySQL实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类型以及定义作用域;

日志文件:记录MySQL对某种条件做出响应时候写入的文件,包括错误日志、查询日志、慢查询日志、二进制日志;

Mysql表结构文件:存放MySQL表结构定义文件,不论采用何种存储引擎,MySQL都有一个以frm为后缀名的文件;

Socket文件:当用linux的MySQL命令行窗口登录的时候需要的文件;

Pid文件:MySQL实例的进程ID文件;

存储引擎文件:每个存储引擎都有自己的文件夹来保存各种数据,这些存储引擎真正存储了数据和索引等数据。


参数文件


当MySQL实例启动时,MySQL会读取一个配置参数文件,用来寻找数据库的各种文件所在位置以及指定某些初始化参数,这些参数通常定义了某种内存结构有多大等设置。默认情况下,MySQL实例会按照一定的次序去取,可以通过命令行,查看my.cnf文件的位置;

  1. mysql --help | grep my.cnf

技术分享

Mysql在启动时可以不需要参数文件,但是如果在默认的数据库目录下找不到mysql架构,则启动会失败;

Mysql的参数可以通过“show variables”来查看,由于从mysql5.1版本开始,可以通过information_schema架构下的GLOBAL_VARIABLES视图来进行查找,所以也可以这样查看

  1. select * from information_schema.global_variables
Mysql 的参数类型:分为动态(dynamic)和静态参数(static)。
动态参数意味着可以再mysql实例运行中进行更改,有些参数修改可以是基于会话的也可以是基于整个实例的生命周期
静态参数说明在整个实例声明周期内都不得进行更改,就好像是只读(read only)的。。Mysql5.1的动态参数在这里。


日志文件
一般来说日志文件的存放路径如下:技术分享

  • 错误日志
该文件对Mysql的启动、运行、关闭过程进行了记录,在遇到问题时,首先应该查看此文件,可以通过“show variables like ‘log_error’;”来定位该文件。 技术分享
  • 慢查询日志
该文件记录了所有运行时间超过阀值的SQL语句,该阀值可以通过参数long_query_time来设置。默认值为10秒。
  1. show variables like ‘long_query_time‘;

 技术分享
但是在默认情况下,Mysql并不启动满查询日志,需要手工修改这个参数;
  1. show variables like ‘log_slow_queries‘;

 技术分享
需要注意的两点内容:首先,慢查询日志记录的是大于阀值的SQL语句,而不是大于等于!!!其次,从Mysql 5.1开始,long_quey_time开始以微秒记录sql语句运行时间。
另一个和慢查询相关的参数是log_queries_not_using_index,如果运行的SQL语句没有使用索引,则Mysql则同样会将这条SQL语句记录到慢查询日志文件中;
  1. show variables like ‘log_queries_not_using_indexes‘;

 技术分享
在慢查询日志文件逐渐增大时,可考虑使用工具mysqldumpslow工具帮助我们分析。该工具的使用您可以使用 “man mysqldumpslow” 或者去这里了解。Mysql5.1开始可以将慢查询的日志记录放入一张表中,该表在mysql.slow_log表中。是否放在表中由参数‘log_output’来决定;
参数log_output指定了慢查询输出的格式,默认为FILE,也可以将其设置为TABLE,就可以去Mysql.slow_log中去查询了。 
  1. show variables like ‘log_output‘;

技术分享

同样也可以将查询日志的记录放入mysql架构下的general_log表。
  • 查询日志
查询日志记录了所有对Mysql数据库请求的信息,不论这些请求是否得到了正确的执行。默认文件名为:主机名.log。我们查看一个查询日志:
4、二进制日志因为二进制日志太重要了,在这里暂且不提。InnoDB存储引擎文件 

来自为知笔记(Wiz)

MySQL学习笔记-数据库文件

标签:

人气教程排行