当前位置:Gxlcms > 数据库问题 > mysql基础(八)mysql日志

mysql基础(八)mysql日志

时间:2021-07-01 10:21:17 帮助过:3人阅读

  1. mysql日志类型:
  2.     1、查询日志(通常不会开启,也不建议开启)
  3.     2、慢查询日志(建议开启)
  4.     3、错误日志(建议开启)
  5.     4、二进制日志(建议开启)
  6.     5、中继日志
  7.     6、事务日志(帮助事务型存储引擎完成ACID测试)
  8. mysql> SHOW GLOBAL VARIABLES LIKE ‘%log%‘;
  9. #查看和日志相关的变量
  10.     查询日志:
  11.     
  12. general_log=ON|OFF
  13. #是否开启查询日志
  14. general_log_file=PATH
  15. #查询日志文件路径
  16. log_output=FILE|TABLE|NONE
  17. #输出方式,默认为FILE
  18.     慢查询日志:执行时长超出指定时长的查询操作
  19. mysql> SHOW GLOBAL VARIABLES LIKE ‘long_query_time‘;
  20. #查看超时时长
  21. 服务器变量:
  22.     slow_query_log=ON|OFF
  23. #是否开启慢查询日志
  24.     log-slow-queries=PATH  
  25. #慢查询日志存储路径,默为HOSTNAME-slow.log
  26.     log_output=FILE|TABLE
  27. #输出方式,默认为FILE
  28. mysqldumpslow
  29. #慢查询日志分析工具
  30.     错误日志:
  31. 1、记录mysql启动和关闭过程中产生的事件信息
  32. 2、记录mysql运行过程中产生的错误信息
  33. 3、在主从架构中,从服务器上启动从服务器线程产生的信息
  34. 服务器变量:
  35.     log_error=OFF|ON|PATH      #启动错误日志,如果不指定错误日志位置将使用默认位置
  36.     log_warnings=0|1
  37.        #是否记录警告信息
  38.        二进制日志:记录导致数据改变或者有可能导致数据发生改变的SQL语句
  39.         功能:用于实现通过"重放"日志文件中的事件来生成数据副本
  40.     mysql> SHOW MASTER LOGS;
  41. #查看可使用的二进制日志文件列表
  42.     mysql> SHOW MASTER STATUS;
  43. #查看正在使用的二进制日志文件
  44.     mysql> SHOW BINLOG EVENTS;
  45. #查看二进制日志文件内容
  46.     服务器变量:
  47.       sql_log_bin=OFF|ON
  48. #是否开启二进制日志
  49.       log_bin=OFF|ON
  50. #是否开启二进制日志,必须同时启用才能生效
  51.       binlog_format=STATEMENT|ROW|MIXED
  52. #二进制日志格式
  53.       max_binlog_size=
  54. #单个二进制文件最大大小
  55.             1、到达最大大小时自动滚动
  56.   2、重启后自动滚动
  57.       sync_binlog=0|1
  58. #是否同步写入,默认为异步写入
  59.     1、同步写入会影响服务器性能
  60.   2、异步写入可能会造成数据丢失
  61.     二进制文件格式:
  62.     基于语句的记录:STATEMENT
  63.     优点:在相同体积下记录的数据更多
  64.     缺点:不能保证回放的数据和源数据完全相同
  65.        如:mysql> INSERT INTO test VALUE(1,now());#每一次获取的系统时间都不相同
  66. 基于行(数据)的记录:ROW
  67.     优点:能保证回放的数据和源数据基本相同
  68.     缺点:在相同体积下记录的数据更少
  69.         混合模式:MIXED,由系统判定基于那种方式进行存储
  70.     二进制文件的构成:
  71.         日志文件:mysql-bin.00000X
  72. #二进制文件
  73.         索引文件:mysql-bin.index
  74. #保存当前可用的二进制日志文件列表
  75.     二进制日志事件的格式:
  76. mysqlbinlog
  77. #二进制文件分析工具
  78.     使用格式:mysqlbinlog [--start-position=事件开始位置] 二进制日志文件
  79.     例:mysqlbinlog mysql-bin.000003
  80. #at 655
  81. #170220  8:33:37  server  id 1  end_log_pos 731  Query  thread_id=12  exec_time=0  error_code=0
  82. SET TIMESTAMP=1487550817/*!*/;
  83. BEGIN
  84. /*!*/;
  85. 事件的起始位置:at 655
  86. 事件发生的时间:170220  8:33:37
  87. server id 1:server id,在做mysql集群时必须保证server id全局唯一
  88. 事件的结束位置:end_log_pos 731
  89. 事件的类型:Query
  90. 事件发生时所在服务器执行此事件的线程ID:thread_id=12
  91. 语句执行和将其写入二进制日志中的时间差
  92. 错误代码:error_code
  93.     中继日志:主从架构中实现主从复制的从服务日志,主要用于保存从二进制日志文件中读取事件
  94.     事务日志:
  95. 由事务型存储自行管理和使用
  96.     清理日志:
  97. PURGE BINARY LOGS TO ‘mysql-bin.010‘;
  98. #清除指定日志之前的二进制日志
  99. PURGE BINARY LOGS BEFORE ‘2008-04-02 22:46:26‘;  #清除指定时间之前的二进制日志


本文出自 “自动化运维” 博客,请务必保留此出处http://hongchen99.blog.51cto.com/12534281/1933882

mysql基础(八)mysql日志

标签:mysql

人气教程排行