Mysql 相关参数配置
一、慢查询日志配置
#以下是开启慢日志的配置
# 单位为 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 复制主要有三种模式:
- 基于 sql 语句的复制(statement-based replication ,SBR)
- 基于行的复制(row-based replication ,RBR)
- 混合模式复制(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