-
问题一: mysql日志有哪些 ?;
-
error_log
(错误日志) : mysql 启动, 运行 或者是停止出现的日志分析排除 mysql运行错误, 异常重启, 主从备份错误, 记录未经授权登录 mysql
-
配置:
log_error = $mysql/sql_log/mysql-error.log
日志文件select @@log_error;
log_error_verbosity = [1,2,3]
=> 日志级别select @@log_error_verboisty;
log_error_services = [日志服务组件1; 日志服务组件2]
定义mysql如何将日志信息写入到日志中;-
show variables like 'log_error_services';
-
set persist log_error_services='log_sink_internal';
如下是可配置的组件-
log_filter_internal
: 默认的日志过滤组件; 依赖log_error_verbosity
-
log_sink_internal
: 默认的日志输出组件; 依赖log_error
-
log_sink_json
: 将错误的日志输出到json
文件 -
log_sink_syseventlog
: 将错误的日志输出到系统的日志文件
-
select @@log_timestamps;
查看时间时区
-
-
-
general_log
(常规日志): 记录所有的发向 mysql 的请求, 及时清理, 默认情况下是关闭的; 因为会造成磁盘的浪费, 需要及时的清理-
general_log: [ ON|off]
-
general_log_file
= $mysql/sql_log/general.log, 存在文件系统; -
log_output
= [FILE | table | none]: 表示general_log
存储的位置
存在数据库表中, 减少磁盘的压力
genernal_log
表; 在mysql
系统数据库中; 这个-
select @@general_log
; 查看general_log
是否开启 -
select @@general_log_file
; 查看general_log
存储位置 -
select @@log_output
: 查看general_log
已什么方式进行存储
-
-
slow_query_log
(慢查询日志): 记录符合条件的日志,将执行成功并符合条件的查询记录到日志中; 找到需要优化的Sql
-
slow_query_log : [ ON|off]
-
show variables like 'slow_query_log'
;
-
-
slow_query_log_file
:$mysql/sql_log/slowlog.log
输出的日志位置-
show variables like 'slow_query_log_file'
;
-
-
long_query_time
: xx/s 可以为小数, 记录查询多长时间为慢查询 ,-
show variables like 'long_query_time'
默认为 10s; 0 记录所有的查询记录
-
-
log_queries_not_using_indexes
:[ ON|off]
记录不使用索引查询的查询 -
log_slow_admin_statements
:[ ON|off]
, 默认不记录管理命令 -
log_slow_slave_statements
:[ ON|off]
-
-
binary_log
(二进制日志): 记录全部所有有效的数据修改日志, 一个非常重要的日志, 是否能够高可用,记录所有对数据库中数据的修改, 基于时间点的备份和恢复, 主从复制
-
log_bin
[=base_name]
; 默认不会启用二进制日志; 默认情况会存储在 mysql 的系统日志中, 只能通过配置文件,grep log_bin /etc/mysql/mysql.conf.d/mysqld.cnf
, 静态参数 -
show variables like 'log_bin%'
-
binlog_format
:[ROW | STATEMENT | MIXED]
三种日志格式, 动态参数show variables like 'binlog_format%'
-
binlog_row_image
:[FULL | MINIMAL | NOBLOB]
ROW 格式的记录日志的方式,show variables like 'binlog_row_image%'
-
binlog_rows_query_log_events
:[ ON | OFF]
; 记录实际执行的sql
语句show varialbes like 'binlog_rows_query_log_events';
-
log_slave_updates
:[ON | OFF]
-
log_slave_updates
:[ON | OFF]
-
expire_logs_days
:days
定期清理日志文件
查看二进制的格式的 log 日志命令:
mysqlbinlog --no-defaults -vv --base64-output=DECODE-ROWS 'file_name'
-
-
relay_log
(中继日志): 用于主从复制, 临时存储的从主库同步的二进制日志-
relay_log
:file_name
存储位置 -
relay_log_purge
:[ON | OFF]
自动清理
-
网友评论