mysql文件
一、简介
我们在学习和使用mysql中,不可避免的涉及到与mysql相关的文件打交道,了解mysql文件更有助于理解mysql的运行原理和日常使用。mysql的文件主要包括几种类型:
配置文件:指定一些mysql运行的参数,比如在哪可以找到数据库文件,内存结构大小等;
日志文件:用来记录影响mysql实例的文件,比如错误日志、二进制日志、慢查询日志、查询日志等;
socket文件:当用Unix域套接字方式进行连接时需要的文件;
pid文件:mysql实例的进程id文件;
mysql表结构文件:用来存放mysql表结构定义文件;
存储引擎文件:存储记录和索引等数据;
二、配置文件
使用下面的命令可以查看mysql的配置文件:
在mysql中有动态参数和静态参数,动态参数可以再mysql运行期间修改,比如事务的隔离级别。查看修改配置:
三、日志文件
日志文件记录了影响mysql数据库的各种类型的活动。mysql数据库常见的日志文件有:错误日志、二进制日志、慢查询日志和查询日志。
错误日志:记录mysql启动、运行、关闭过程。使用
show variables like '%log_error%';
查看日志位置;、慢查询日志:记录查询慢的语句,帮助定位可能存在问题以及可以优化的SQL,通过设置一个值,大于这个值的sql语句就会被记录到慢查询日志中;
查询日志:记录了所有对mysql请求的信息,无论这些请求是否得到了正确执行。查看查询日志是否打开和位置:
和慢查询日志一样,可以设置
log_output=TABLE
将查询记录记录在mysql.general_log表中;二进制日志:记录了对mysql数据库执行的所有更改操作,但不包括select和show这类操作,因为这类操作并没有对mysql进行修改,若操作本身没有导致数据库发生变化可能也会写入二进制文件,二进制日志可以用于数据的恢复、复制和审计;
四、Socket文件
在UNIX系统下本地连接mysql可以采用UNIX域套接字方式。这种方式需要一个套接字(socket)文件。
五、pid文件
当mysql实例启动时,会将自己的进程id写入一个文件中,即pid文件。
六、表结构定义文件
mysql数据存储是根据表划分的,mysql对于每一张表都有一个frm为后缀的文件来存储表结构定义。frm文件还用来存放视图的定义,如用户创建了一个v_a视图,那么对应地会产生一个v_a.frm的文本文件,用来记录视图的定义。
通过show variables like '%datadir%';
查看表结构定义文件存储位置,下面是一个视图的表结构定义文件:
七、存储引擎文件
Last updated