MySQL数据库中,日志文件主要有以下几种:
- 二进制日志(binlog)
- 错误日志(error log)
- 查询日志(general query log)
- 慢查询日志(slow query log)
- 中继日志(relay log)
而在MySQL5.6版本中,日志文件的相关设置可以在my.cnf中进行:
log_bin = /var/log/mysql/mysql-bin.log #开启二进制日志
log_error = /var/log/mysql/mysql-error.log #开启错误日志
general_log_file = /var/log/mysql/mysql.log #开启查询日志
slow_query_log_file = /var/log/mysql/mysql-slow.log #开启慢查询日志
relay_log = /var/log/mysql/mysql-relay-bin #开启中继日志
expire_logs_days = 10 #设置二进制日志文件的保留天数
max_binlog_size = 100M #设置二进制日志文件的最大大小
其中,binlog记录的是数据库的修改操作,而error log记录的是错误信息。查询日志和慢查询日志则会记录数据库的查询操作,但慢查询日志只会记录查询时间超过设定时间阈值的查询。如果开启了中继日志,那么主从复制的过程中,中继日志将记录与传输有关的操作。
在MySQL5.6版本中,我们可以通过如下命令查看日志:
$ tail -100f /var/log/mysql/mysql.log #查看查询日志
$ tail -100f /var/log/mysql/mysql-slow.log #查看慢查询日志
$ tail -100f /var/log/mysql/mysql-error.log #查看错误日志
需要注意的是,日志文件的过多或过大可能会影响服务器的性能,因此我们需要定期删除或压缩旧的日志文件,或者设置expire_logs_days参数来自动删除旧的二进制日志文件。