Mysql技术内幕InnoDB存储引擎读书笔记--《三》文件

本章将分析构成Mysql数据库和InnoDB存储引擎表的各种类型文件,主要有参数文件、日志文件、socket文件、pid文件、Mysql表结构文件、存储引擎文件。

3.1参数文件

Mysql参数文件my.cnf。Mysql中参数可以分为两类:动态参数和静态参数。动态参数意味着可以再Mysql实例运行中进行更改;静态参数说明在整个实例生命周期内都不能进行更改,就好像是只读的。

可以通过SET命令对动态的参数值进行修改,可以 修改当前会话或者整个实例的生命周期。有些动态参数只能在会话中进行修改,如autocommit;有些参数修改完后,在整个实例生命周期内都会生效,如binlog_cache_size;而有些参数既可以在会话又可以再整个实例的生命周期内生效,如read_buffer_size。

3.2日志文件

3.2.1错误日志

可以通过 show variables like 'log_error 来定位该文件。当Mysql自身出现错误时,第一时间必须查找的文件应该就是错误日志文件。

3.2.2慢查询日志

通过 show variables like '%long% 来查看慢查询日志文件,通过 show variables like 'log_slow_queries 来查看慢查询日志是否打开。

设置long_query_time这个时间阈值后,Mysql数据库会记录运行时间超过该值的所有SQL语句,而不是大于等于。

另一个和慢查询日志有关的参数是log_queries_not_using_indexes,如果运行的SQL语句没有使用索引,则Mysql数据库同样会将这条SQL语句记录到慢查询日志文件。命令是 show variables like 'log_queries_not_using_indexes

Mysql5.1开始可以将慢查询的日志记录放入一张表中 show create table mysql.slow_log ,通过修改show variables like 'log_output' 中的FILE改为TABLE就可以看到表了。(前提是必须设置log_slow_queries为on)。

3.2.3查询日志

查询日志记录了所有对Mysql数据库请求的信息,默认文件名为:主机名.log。

3.2.4二进制日志

二进制日志的作用非常关键,可以用来进行point in time的恢复以及复制环境的搭建。因此,建议在任何时候都启用二进制日志的记录。二进制日志支持STATEMENT、ROW、MIX三种格式,用来更好地同步数据库。

套接字文件

pid文件

show variavbles like 'pid_file' \G

表结构定义文件

InnoDB存储引擎文件

主要有表空间文件和重做日志文件。表空间文件是用来管理InnoDB存储引擎的存储,分为共享表空间和独立表空间。重做日志非常重要,用来记录InnoDB存储引擎的事务日志,也因为重做日志的存在,才使得InnoDB存储引擎可以提供可靠的事务。

你可能感兴趣的:(数据库)