MySql和InnoDB包括以下文件:
- 参数文件:也叫配置文件,提供了启动参数,主要是my.cnf文件;
- 日志文件:记录MySql运行时的各种行为;
- socket文件:Mysql支持Unix套接字方式连接;
- pid文件:Mysql将自己的进程号写入pid文件中;
- MySql表结构文件:MySql的表结构独立于存储引擎定义为frm文件,新版本MySql的表结构文件可以和存储引擎文件放一起;
- 存储引擎文件:每个存储引擎定义自己的存储结构,这决定了文件的压缩比和数据管理方式。
日志文件:
日志文件是Mysql的重要文件,通过日志文件可以做针对性优化,建立主从复制集群,MySql定义的标准日志文件包括:
- error log:错误日志,查询出现的错误,这个应该少发生;
- bin log:二进制文件,鼎鼎大名的文件,通过它来实现主从复制;
- slow query log:慢查询文件,可以定义一个阈值,如果sql的执行时间大于这个时间,这个sql就会被记录下来;
- log:查询日志,所有的查询sql都记录下来。
对于慢查询文件,可以通过下面的查看当前慢查询的时间。
#查询错误日志位置
SHOW variables like 'log_error' \G
#查询慢查询的时间单位:微妙
SHOW variables like 'long_query_time' \G
#记录没有使用索引的sql
SHOW Variables like 'log_queries_not_using_indexes' \G
InnoDB 的文件
InnoDB的文件分为两类,表空间文件和重做日志文件,表空间文件存储了所有的索引,数据等信息。
- 表空间文件:ibdata1文件,可以修改,可以为每个表产生一个表空间文件,table_name.ibd;
- 日志文件:ib_logfile0 和 ib_logfile1 文件,更准确的是redo log。