天天看点

MySQL日志文件

1)错误日志(error log)

错误日志对mysql的启动、运行、关闭过程进行了记录。

通过show variables like ‘log_error‘来定位该文件。

2)二进制日志(binlog)

二进制日记记录了对mysql数据库执行更改的所有操作,但是不包括select和show这类操作。

通过配置参数log-bin [=name]可以启动二进制日志。

相关的参数:

max_binlog_size:指定了单个二进制日志文件文件的最大值,如果超过该值,则产生新的二进制日志文件,后缀名+1,并记录到.index文件。

binlog_cache_size:当使用事务的表存储引擎时,所有未提交的二进制日记会被记录到一个缓冲中去,等该事务提交时直接将缓冲中的二进制日记写入二进制文件,而缓冲的大小由binlog_cache_size决定,默认大小为32k。

sync_binlog:参数sync_binlog=[n],表示每写缓冲多少次就同步到磁盘。

binlog-do-db:要同步的数据库。

binlog-ignore-db:不要同步的数据库。

log-slave-update:如果slave需要将从master取得并执行的二进制日志写入自己的二进制日志文件中去,就要设置log-slave-update。

bin_format:binlog日志格式,有statement、row、mixed三种格式。

3)慢查询日志(slow query log)

慢查询日志可帮助dba定位可能存在问题的sql语句,从而进行sql层面的优化。可以通过设一个阈值,将运行时间超过该值的所有sql语句都记录到慢查询日记中,默认为10秒。

检查是否开启慢查询日记:

查看慢查询日志:

mysql5.6.5版本开始新增了一个参数log_throttle_queries_not_using_indexes,用来标示每分钟允许记录到slow log的且未使用索引的sql语句次数。

4)查询日志(log)查询日记记录了所有对mysql数据库请求的信息,无论这些请求是否得到了正确的执行。默认文件名为:主机名.log

开启查询日志:

查看查询日志:

参考:《mysql技术内幕:innodb存储引擎》