码迷,mamicode.com
首页 > 其他好文 > 详细

Logs

时间:2021-03-03 12:04:58      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:color   long   sync   变量   主从   tmp   options   variables   客户端命令   

MySQL Logs:

查询日志:query log
慢查询日志:slow query log
错误日志: error log
二进制日志:binary log; 
中继日志:reley log
事务日志:transaction log

1、查询日志

  记录查询操作;

查询日志可以记录在:

文件:file
表:table

查询日志相关的变量:

SHOW GLOBAL VARIABLES LIKE ‘%log%‘;
  general_log=ON|OFF
  general_log_file=HOSTNAME.log
  log_output=TABLE|FILE|NONE

2、慢查询日志
  执行时长超出指定时长的查询操作;

慢查询日志相关变量:

SHOW GLOBAL VARIABLES LIKE ‘long_query_time‘;
SELECT @@GLOBAL.long_query_time;
SET GLOBAL long_query_time=

slow_query_log=ON|OFF
slow_query_log_file=HOSTNAME-slow.log

log_slow_filter=
  admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
log_slow_queries = OFF
log_slow_rate_limit = 1
log_slow_verbosity

3、错误日志
  mysqld启动和关闭过程中输出的事件信息;
  mysqld运行中产生的错误信息;
  event scheduler运行一个event时产生的日志信息;
  在主从复制架构中的从服务器上启动从服务器线程时产生的信息;

错误日志相关的变量:

log_error=/PATH/TO/LOG_ERROR_FILE (|OFF|ON)
log_warnings=1|0 :是否记录警告信息至错误日志文件中;

4、二进制日志
  记录导致数据改变或潜在导致数据改变的sql语句;
  功能:用于通过”重放“日志文件中的事件来生成数据副本;

查看mariadb自行管理的使用中的二进制文件列表:

SHOW {BINARY | MASTER} LOGS

查看正在使用中的二进制日志文件:

SHOW MASTER STATUS

查看指定的二进制日志文件内容:

SHOW BINLOG EVENTS [IN ‘log_name‘] [FROM pos] [LIMIT [offset,] row_count]

示例:

SHOW BINLOG EVENTS IN ‘mysql-bin.000007‘ FROM 526397\G

二进制日志记录格式:

基于”语句“记录:statement
基于”行“记录:row
混合模式:mixed,让系统自行判定该基于哪种方式进行;

二进制日志文件的构成:

两类文件
  日志文件:mysql-bin.文件名后缀, 二进制格式
  索引文件:mysql-bin.index,文本格式
# cd /mydata/binlogs
# ls
mysql-bin.000001  mysql-bin.000002  mysql-bin.000003  mysql-bin.000004  mysql-bin.000005  mysql-bin.000006  mysql-bin.000007  mysql-bin.index

服务器变量:

sql_log_bin={ON|OFF}: 是否记录二进制日志
log_bin=/PATH/TO/BIN_LOG_FILE:记录的文件位置;通常为ON;
binlog_format=STATEMENT|ROW|MIXED:二进制日志记录的格式;
max_binlog_size=1073741824: 单个二进制日志文件的最大体积,默认为1G;
  注意:(1)到达最大值会自动滚动 (2)文件达到上限时的大小未必为指定的精确值;
sync_binlog=1|0:设定是否启用二进制日志同步功能;

mysqlbinlog: 客户端命令工具

mysqlbinlog [OPTIONS] log_file
  --start-position
  --stop-position

  --start-datetime=
  --stop-datetime=
    YYYY-MM-DD hh:mm:ss

二进制日志内容的格式:

# at 328    
#210227 19:21:30 server id 1  end_log_pos 432     Query    thread_id=1    exec_time=0    error_code=0
use `mydb`/*!*/;
SET TIMESTAMP=1614471690/*!*/;
create table tb1(id int,name varchar(20))
/*!*/;
起始位置:at 328

事件发生的日期和时间:210227 19:21:30
事件发生的服务器标识:server id 1
事件的结束位置:end_log_pos 432
事件的类型:Query
事件发生时所在服务器执行此事件的线程的ID:thread_id=1
语句的时间戳与将其写入二进制文件中的时间差:exec_time=0
错误代码:error_code=0
事件内容:

GTID:Global Transaction ID:
  专属属性:GTID

中继日志:

  复制架构中,从服务器用于保存从主服务器的二进制日志中读取的事件;

事务日志: transaction log
  事务型存储引擎自行管理和使用;

事务日志有两类:

redo log: 重做日志
undo log:撤销日志

 

Logs

标签:color   long   sync   变量   主从   tmp   options   variables   客户端命令   

原文地址:https://www.cnblogs.com/ckh2014/p/14470018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!