MySQL 日志类型

错误日志

记录mysql运行时输出的信息

log_error=</path/to/somefile> //指定错误日志路径

查询日志

记录mysql运行时,执行的sql语句

log_output=[FILE|TABLE|NONE] // 查询日志储存在哪里,file记录到文件,table记录到数据表,none不记录 记录查询日志
general_log=[ON|OFF]//是否开启查询日志
general_log_file=</path/to/somefile> //如果是将日志记录到文件,需要指定日志文件路径

慢查询日志

记录执行慢的sql语句

slow_query_log=[ON|OFF] //是否开启慢查询日志
slow_query_log_file=</path/to/somefile> //慢查询日志保存的路径
long_query_time=<time> //超过指定的阙值,会被标记为慢查询,单位是秒
log_queries_not_using_indexes=[ON|OFF]//是否标记那些没有使用索引的查询标记为慢查询
  • 日志格式
    在这里插入图片描述#开始执行sql语句的时间
    #执行的用户,登陆ip,线程id号
    #执行时长,占锁时长,返回给客户端的行数,储存引擎扫描的行数
    执行的sql语句

  • 使用mysqldumpslow分析慢查询日志

//常用选项
-s 排序规则
	al平均占锁时间
	at平均查询时间
	ar平均响应给客户端的行数
	c出现次数
	l总锁时间
	r总响应给客户端的行数
	t总查询时间
-r 反向排序
-t 显示前行

在这里插入图片描述出现此次,总执行时间,中占锁时间,总返回给客户端的行数,执行的用户,登陆的ip,执行的语句

  • 使用pt-query-digest分析慢查询日志
常用参数
--since <time> //统计最近<time>时间内的慢sql
--since <date-time> --until <date-time> //统计指定时间段内的慢sql
--order-by 

摘要信息
在这里插入图片描述
工具生成报告花费的时间,实际内存,虚拟内存
生成报告的时间
主机名
慢查询日志名
汇总信息,总sql数,不同的sql数,每秒查询数,并发数
分析慢查询日志记录的日期范围
执行时间
占锁时间
返回给客户端的记录数
存储引擎扫描的行数
查询sql的字节数

分组统计结果
在这里插入图片描述排名,查询标号ID,总响应时间,在本次报告中占用总响应时间百分比,执行次数,平均每次响应时间,执行的语句

每一类统计sql的查询详细信息
在这里插入图片描述查询ID号,每秒查询数,并发数
记录慢查询日志的时间范围
出现次数
执行时间
占锁时间
返回给客户端的记录数
存储引擎扫描的行数
查询sql的字节数
登陆主机ip
登陆账号
sql执行时间分布图
查询涉及的表
sql语句

二进制日志

记录引起数据发生改变的sql。

//开启二进制日志
server_id =<num>	//mysql服务器标识号,开启二进制日志需要设这个参数
log_bin=</path/to/somefile> //如果指定了文件路径,则开启二进制日志
sql_log_bin=[on|off]//会话级别是否开启二进制日志
binlog_format=[statement|row|mix]//记录二进制日志的格式,statement记录引起改变的sql语句。row记录执行sql后,变更的行数据。
max_binlog_size=<size> //二进制日志文件大小
sync_binlog=<number>//每sync_binlog次事务提交,同步一次缓存到磁盘二进制日志文件。
查看当前使用的二进制日志文件

show master status
在这里插入图片描述

查看服务器上存在的二进制日志

show binary logs
在这里插入图片描述

查看二进制日志内容
  • 使用mysql客户端命令
//show binlog events in <二进制日志文件> from <日志偏移位置> limit <偏移多少条二进制日志> <显示多少条二进制日志>
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]

在这里插入图片描述

  • 使用命令行工具 mysqlbinlog
//常用选项 
--start-datetime //记录的开始时间
--end-datetime //记录的结束时间
--start-position //日志的开始位置
--end-postion //日志的结束位置
--base64-output decode-rows --verbose //查看以rows格式记录的二进字日志
清理二进字日志
  • 自动清理,设置二进制日志过期时间,expire_logs_days
  • 手动清理 ,purge master logs to <binlog_file_name> 或 purge master logs before < time >
日志格式
  • statement 记录执行的sql语句
    在这里插入图片描述更新10行数据,直接记录执行的sql
 update format set t2=100 limit 10;

在这里插入图片描述

  • rows 以对每一行数据进行修改的形似,记录sql语句
update format set t2=100 limit 20;

在这里插入图片描述为每一行需要更新的行数据行,记录为一个update语句

中继日志

用于主从架构中,从服务器重放主服务器的二进制日志。达到主从数据同步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值