MySQL日志文件的开启与参数详解
2017-06-04 22:08
411 查看
MySQL日志文件主要有错误日志、慢查询日志、查询日志、二进制日志。这篇笔记的定位是各种日志文件的开启和参数的解释
1 .错误日志(error log)
用来记录MySQL的启动和关闭以及重要的错误信息。
2 .慢查询日志( slow query log)
用来记录查询时间超过long_query_time或者没有使用索引的查询语句
参数解释:
slow_query_log控制slow query log的开关,值为on表示开,off表示关
slow_query_log_file表示slow query log文件所在位置及其文件名
log-query-not-using-indexes表示记录未使用索引的查询语句到slow query log中
long_query_time表示查询时间超过这个阀值的SQL语句记录到slow query log (等于这个阀值的时候不会记录)
log_output指定slow query log的输出格式,FILE(到文件)、TABLE(到表)、NONE(都不到) NONE优先级最高,FILE和TABLE优先级一样
3 .查询日志(general log)
用来记录所有对MySQL数据库的请求信息,无论是否得到正确的执行。
4 .二进制日志(binary log)
记录对MySQL数据库执行更改的所有操作。
参数解释:
binlog_format表示二进制日志的格式,有三种
1. statement 表示bin log记录的是逻辑SQL语句
2. row 表示bin log记录的是表中行的更改情况
3. mixed 是statement和row的混合,一般情况下使用statement,当可能存在主从不一致的情况下使用row
max_binlog_size 指定单个bin log文件的最大值
sync_binlog表示每写缓冲多少次就同步到磁盘,设置为1时表示采用同步写磁盘的方式来写bin log
binlog-do-db 需要写入这些指定库的日志
binlog-ignore-db 不需要写入这些指定库的日志
expire_logs_days 设置日志的过期天数,过来这个值的天数的bin log就会被自动删除
由于binlog是二进制的,而前面的查询日志、慢查询日志、错误日志都是文本的,所以,前面的日志可以直接查看,binlog日志必须要使用mysqlbinlog工具来查看
一些日志相关的mysql命令:
1 .错误日志(error log)
用来记录MySQL的启动和关闭以及重要的错误信息。
启动时参数配置文件中配置: #开启并指定错误日志文件所在目录及其名称 ,默认时为主机名+.err log_error = /var/log/mysql/lzg-Lenovo-G40-70m.err
2 .慢查询日志( slow query log)
用来记录查询时间超过long_query_time或者没有使用索引的查询语句
启动时参数配置文件中配置: #启动slow query log slow_query_log #设置参数slow_query_log_file slow_query_log_file=/var/log/mysql/mysql-slow.log #设置参数log-query-not-using-indexes log-query-not-using-indexes #设置参数long_query_time long_query_time=2
参数解释:
slow_query_log控制slow query log的开关,值为on表示开,off表示关
slow_query_log_file表示slow query log文件所在位置及其文件名
log-query-not-using-indexes表示记录未使用索引的查询语句到slow query log中
long_query_time表示查询时间超过这个阀值的SQL语句记录到slow query log (等于这个阀值的时候不会记录)
log_output指定slow query log的输出格式,FILE(到文件)、TABLE(到表)、NONE(都不到) NONE优先级最高,FILE和TABLE优先级一样
3 .查询日志(general log)
用来记录所有对MySQL数据库的请求信息,无论是否得到正确的执行。
启动时参数配置文件中配置: #开启查询日志 general_log #设置查询日志文件的目录和名称,默认时为主机名+.log general_log_file=/var/log/mysql/lzg-Lenovo-G40-70m.log
4 .二进制日志(binary log)
记录对MySQL数据库执行更改的所有操作。
启动时参数配置文件中配置: #开启二进制日志并指定bin log 的所在目录及其名称 log_bin = /var/log/mysql/lzg-Lenovo-G40-70m-bin #server_id是mysql 5.7之后开启bin log必须要指定的,大概是因为bin log是服务器级别的日志 server_id =1 #设置参数binlog_format binlog_format=statement #设置参数max_binlog_size max_binlog_size= 100M #设置参数sync_binlog sync_binlog=1
参数解释:
binlog_format表示二进制日志的格式,有三种
1. statement 表示bin log记录的是逻辑SQL语句
2. row 表示bin log记录的是表中行的更改情况
3. mixed 是statement和row的混合,一般情况下使用statement,当可能存在主从不一致的情况下使用row
max_binlog_size 指定单个bin log文件的最大值
sync_binlog表示每写缓冲多少次就同步到磁盘,设置为1时表示采用同步写磁盘的方式来写bin log
binlog-do-db 需要写入这些指定库的日志
binlog-ignore-db 不需要写入这些指定库的日志
expire_logs_days 设置日志的过期天数,过来这个值的天数的bin log就会被自动删除
由于binlog是二进制的,而前面的查询日志、慢查询日志、错误日志都是文本的,所以,前面的日志可以直接查看,binlog日志必须要使用mysqlbinlog工具来查看
一些日志相关的mysql命令:
flush logs #是来刷新数据库日志的。 show binary logs #显示binlog文件 show master logs #同上 show binlog events in 主机名-bin.******* #查看binlog中的内容 reset master #删除binlog日志文件,并新建一个000001的binlog purge master logs to 主机名-bin.****** #删除******编号之前的所有日志 purge master logs before 'yyyy-mm-dd hh24:mi:ss'#删除日记为"yyyy-mm-dd hh24:mi:ss"之前所产生的日志
相关文章推荐
- MySQL配置文件my.cnf参数优化和中文详解
- MySQL配置文件mysql.ini参数详解
- MySQL配置文件my.cnf参数优化和中文详解
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
- mysql-删除日志文件命令详解
- MySQL配置文件mysql.ini参数详解
- MySQL日志文件之错误日志和慢查询日志详解
- MySQL配置文件my.cnf优化详解,注意MySQL 5.5版本和其他前版本有些不一样的参数
- mysql自身运行日志文件详解
- mysql配置文件my.cnf参数优化和中文详解
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
- mysql日志文件详解
- 详解MySql的慢查询分析及开启慢查询日志
- MySQL配置文件mysql.ini参数详解
- mysql配置文件参数详解 my.cnf
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
- MySQL配置文件my.cnf参数优化和中文详解
- mysql 删除日志文件详解
- MySQL日志文件之错误日志和慢查询日志详解
- 详解MySql的慢查询分析及开启慢查询日志