MySQL的日志主要有以下6种:本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
1.错误日志(error log):mysql启停时错误信息。
2.查询日志(general log):客户端连接和执行的语句。
3.二进制日志(bin log):所有更改数据的语句,可用于数据复制。
4.慢查询日志(slow log):所有执行时间超过long_query_time的查询。
5.中继日志(relay log):主从复制时使用的日志。
6.事务日志(redo log和undo log) :innodb事务日志。本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
关于日志滚动:日志滚动实际就是不再在旧的日志文件上记录,而在新的一个日志文件上进行记录日志。比如二进制日志在单日志文件达到设置上限(max_binlog_size配置)、进行flush logs/refresh操作、进行数据库重启操作时都会进行日志滚动。本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
关于日志删除:二进制日志默认会在数据目录下创建类似mysql-bin.000001的日志文件,同时在mysql-bin.index文件中记录这些文件的索引。随着数据库的使用,文件会越来越多,可以使用:reset master删除所有日志并重新从000001开始。也可以修改配置项expire_logs_days=N指定自动过期清空多少天前的日志。也可以使用PURGE命令指定删除至哪个文件之前的文件,也可以删至指定日期之前的所有日志。格式和示例如下:本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
#格式:PURGE { BINARY | MASTER } LOGS { TO 'log_name' | BEFORE datetime_expr } mysql> purge master logs to "mysql-bin.000219"; mysql> purge master logs before '2020-06-20 18:14:25';本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
关于慢查询日志:慢查询日志除了能设置记录超过多少秒的查询日志之外,还可以使用log_queries_not_using_indexes配置来记录所有未使用索引的查询。慢查询日志相关的变量如下:本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
#慢查询时长 long_query_time=10 #查询日志和慢查询日志的输出,默认file log_output={TABLE|FILE|NONE} #是否启用慢查询日志,默认不启用 log_slow_queries={yes|no} #是否启用慢查询日志,和上面的配置一样或的关系 slow_query_log={1|ON|0|OFF} #slow.log位置 slow_query_log_file=/mydata/data/hostname-slow.log #查询没有使用索引的时候是否也记入慢查询日志 log_queries_not_using_indexes=OFF本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
Mysql是可以动态开启慢查询日志,即线上的服务器没有开启慢日志,可以使用set GLOBAL slow_query_log=1即开始记录慢查询,包括设置是否记录未使用索引的查询等,当然重启后会失效。为防止线上业务受影响,可以先这样修改,同时将配置文件补上配置项即可。本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
#查询慢查询状态和修改 show VARIABLES like '%slow_query_log%'; set GLOBAL slow_query_log=1; #设置成功之后进行测试(默认是10秒) select sleep(11); #慢查询日志记录如下: /usr/sbin/mysqld, Version: 5.7.28-log (MySQL Community Server (GPL)). started with: Tcp port: 3306 Unix socket: /var/run/mysqld/mysqld.sock Time Id Command Argument # Time: 2020-06-21T05:52:43.925558Z # User@Host: u04007[u04007] @ [192.15.12.18] Id: 116062554 # Query_time: 11.000200 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 use test_database; SET timestamp=1592718763; select sleep(11);本文地址:http://www.04007.cn/article/837.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/837.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |