数据库日志系统分解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库日志系统分解相关的知识,希望对你有一定的参考价值。

标题索引


  • 日志分类

  • 日志操作

  • 日志分解


日志分类

    在数据库系统中日志主要分为6类,具体如下:

    1、查询日志:主要记录日常查询的记录

    2、慢查询日志:主要记录查询时长超过设置的数值时间的语句,方便DBA运维人员进行查询

    3、错误日志:主要用于记录错误的事件,方便DBA运维人员对数据库的操作和日常维护

    4、二进制日志:主要用于记录sql语句对数据库的操作,方便DBA运维人员审计和备份恢复

    5、中继日志:主要用于数据库集群架构设计中数据库的主备

    6、事物日志:主要用于防止数据库服务器异常中断时,事物的恢复

日志操作

    1.查询日志,查询日志可以记录在文件系统的文件中,也可以记录在自身数据库的表中,具体的记录方式可通过全部变量进行查看或更改,默认只记录在文件之中,建议关闭查询日志

MariaDB [(none)]>  show global variables like 'general_log%';
+------------------+----------------+
| Variable_name    | Value          |
+------------------+----------------+
| general_log      | ON             |
| general_log_file | nginxser02.log |   #相对目录,相对数据文件安装的目录
+------------------+----------------+
2 rows in set (0.00 sec)
MariaDB [(none)]>  show global variables like 'log_output';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_output    | FILE  |               #值可以为file|table|none
+---------------+-------+
1 row in set (0.00 sec)

    2.慢查询日志,执行时间超出指定查询的日志,慢查询有可能数据库设计的不合理或表被锁定非设计原因,具体验证或修改可根据如下示例

#查询慢查询设定时长,想修改时长并永久生效,写配置文件
MariaDB [(none)]> show global variables like 'long_query_time'; 
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)
MariaDB [(none)]> show global variables like 'slow_query%';
+---------------------+---------------------+
| Variable_name       | Value               |
+---------------------+---------------------+
| slow_query_log      | OFF                 |
| slow_query_log_file | nginxser02-slow.log |
+---------------------+---------------------+
2 rows in set (0.00 sec)
#慢查询日志记录的策略设定
MariaDB [(none)]> show global variables like 'log_slow%';
+---------------------+--------------------------------------------------------------------------------------------------------------+
| Variable_name       | Value                                                                                                        |
+---------------------+--------------------------------------------------------------------------------------------------------------+
| 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  |                                                                                                              |
+---------------------+--------------------------------------------------------------------------------------------------------------+
4 rows in set (0.00 sec)







    

以上是关于数据库日志系统分解的主要内容,如果未能解决你的问题,请参考以下文章

软件架构分解LinkedIn日志系统GWT HTML5支持——架构周报

argparse 代码片段只打印部分日志

谈nginx配置

常用python日期日志获取内容循环的代码片段

nginx---------------------------nginx日志详细分解

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情