原文地址:https://www.douyacun.com/article/9a14b17d6f6021e4e9caf24983023cb9 mysql中常见的日志文件:
- 错误日志(error log)
- 二进制日志(binlog)
- 慢查询日志(slow log)
- 查询日志(log)
错误日志
查看错误日志的位置
mysql> show variables like 'log_error'\G;
慢查询日志
开启慢查询日志log_slow_queries
mysql> show variables like 'log_slowqueries'\G;
慢查询时间long_query_time
mysql> show variables like 'long_query_time'\G
sql没有用到索引也会记录到慢查询日志
mysql> show variables like 'long_throttle_queries_not_using_indexes'\G;
mysqldumpslow查看执行时间最长的10条sql
$ mysqldumpslow -s -al -n 10 mysqlslow.log
mysql支持将慢查询日志写入到slow_log表,log_output指定慢查询输出格式,默认为file,设置为table会写入到slow_log表
mysql> show create table mysql.slow_log;
rds执行日志记录sls
阿里云关系数据库RDS(MySQL版本)的SQL执行日志已经与日志服务打通,提供准实时的SQL执行分析功能,并提供内置可深钻的报表、支持自定义审计规则、异常报警、报表订阅与生态对接能力等。
- 据库的登录、退出。
- DDL(Data Definition Language):对数据库结构定义的SQL,例如CREATE、ALTER DROP、TRUNCATE、COMMENT等。
- DML(Data Manipulation Language):SQL操作语句,包括SELECT、INSERT、UPDATE、DELETE等。
- 其他SQL执行,包括任何其他通过SQL执行的控制,例如回滚、控制等。
- 失败的SQL执行也会被记录。
- 对SQL执行的延迟、执行结果、影响的行数等信息的提取。
https://help.aliyun.com/document_detail/118266.html
二进制日志
- max_binlog_size: 二进制文件最大值,超过该值产生新的文件,后缀加1
- binlog_cache_size: innodb所有未提交的事物都会被记录缓存中去,事物提交时,在写二进制日志中。当一个session开启一个事物时,会自动初始化一个大小为binlog_cache_size大小的缓存,当事物的记录大于binlog_cache_size的时候,会把缓冲的日志写入一个临时文件
- binlog_cache_use 缓冲写二进制日志次数
- binlog_cache_disk_use 临时文件写二进制日志次数
查看binlog文件的内容:
mysql> mysqlbinlog --start-position=203 douyacun.00007
套接字文件
本地mysql可以使用套接字文件来连接
mysql> show variables like 'socket';
pid文件
进程pid,可以用pid文件来重启进程
mysql> show variables like "";