文件

简介

本文主要讲解Mysql主要的文件,分为Mysql Server相关文件和InnoDB存储引擎相关文件。

Mysql Server相关文件

配置文件

定义mysql全局配置信息,例如端口定义port=3306。在linux下,一般放在/etc/my.cnf/etc/mysql/my.cnf(可以通过mysql--help | grep my.cnf查看)。

日志文件

用来记录某些请求/响应信息的文件,主要分为:

  • 错误日志:对mysql的启动、运行、关闭过程进行了记录。该文件不仅记录了所有的错误信息,还记录一些告警信息或者正确的信息,可以通过show variables like '%log_error%';查看错误日志的存放路径,默认命名主机名.err
  • 慢查询日志:可以定位可能存在问题的SQL语句,从而进行SQL语句层面的优化。
    • 主要用来记录查询时间>long_query_time(默认10秒)的SQL。
    • slow_query_log=ON开启/关闭慢查询日志,默认是开启的。
    • 可以通过show variables like '%slow_query_log_file%';查看慢查询日志存放位置,接着通过mysqldumpslow /data/mysql/mysql-slow.log查看详细信息,也可以通过表来查看select * from mysql.slow_log;
    • 另外还有一个重要的配置参数log-queries-not-using-indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。
  • 查询日志:记录所有的请求响应信息,默认命名主机名.log
  • 二进制日志:记录了对mysql执行更改的操作(详细信息参考这篇文章:Mysql——binlog)。主要有以下几个作用:
    • 恢复:可以通过point in time进行某些数据的恢复;
    • 复制:mysql主从复制是基于二进制日志复制实现实时同步的;
    • 审计:用户可以通过二进制日志进行审计,判断是否有注入攻击。

表结构文件

用来存放mysql表结构定义,文件后缀.frm

socket文件

当用UNIX域套接字方式进行连接时需要的文件;可以通过show variables like 'socket';查看,一般放到/tmp/mysql.sock;

pid文件

Mysql实例的进程文件;可以通过show variables like 'pid_file';查看。

InnoDB存储引擎相关文件

  • 表空间文件
  • 重做日志文件

详细信息可以参考这篇文章Mysql——InnoDB存储引擎架构

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容