Mysql 相关参数配置

  1. 慢日志
  2. 普通日志
  3. 二进制 binlog

一、慢查询日志配置

#以下是开启慢日志的配置
# 单位为 s
slow-query-log = on
slow_query_log_file = D:/mysql-8.0.21-winx64/slowlog/slow.log
long_query_time = 0.001
log_queries_not_using_indexes = off

long_query_time 指定的时间单位是 s, 也可以通过小数位指定毫秒,微妙,记录以查询时间为标准

log_queries_not_using_indexs 该配置开启,所以非索引的查询都记录到慢日志

二、通常日志记录

#以下是开启普通日志的配置
general_log = on
general_log_file = D:/mysql-8.0.21-winx64/generalog/general.log
log_output = file

log_output 可以指定为table ,不推荐

 三、二进制日志 binlog

 3.1 通过修改 my.ini 配置文件,开启binlog 日志(修改需要重启)

#开启二进制日志 log_bin
server_id=1
log-bin = binlog/bin
binlog_format = ROW
expire_logs_days = 7 
max_binlog_size = 100m   
binlog_cache_size = 4m  
max_binlog_cache_size = 512m 

MySQL 复制主要有三种模式:

  1. 基于 sql 语句的复制(statement-based replication ,SBR)
  2. 基于行的复制(row-based replication ,RBR)
  3. 混合模式复制(mixed-based replication ,MBR)

对应的mysql binlog_format 可以指定格式:STATMENT、ROW、MIXED

1.STATEMENT

每一条会修改数据的sql 会记录到binlog 中,优点是不需要记录每一条数据的变化,减少io,提供性能。缺点是在某些情况下会导致主从数据不一致(sleep() ,last_insert_id()等会出现问题)

2.ROW 

记录被修改的数据以及结果。缺点是产生大量的日志,尤其是alter table 

3.MIXED

是以上两种的混合模式,一般使用 STATEMENT 保存sql 语句,当特殊情况无法保存时,使用ROW 保存

3.2 查看第一个binlog文件的内容

 3.3 获取binlog文件列表

 3.3 查看指定binlog 文件内容

 3.4 查看当前正在写入的binlog 文件

 3.5 使用mysqlbinlog 查看binlog 日志(格式为:ROW)

 将格式更改为 STATEMENT ,修改数据并查看

将格式更换为 MIXED 并查看

参考:https://blog.csdn.net/u010735147/article/details/81871560 

原文地址:https://www.cnblogs.com/bytecodebuffer/p/13856833.html