码迷,mamicode.com
首页 > 数据库 > 详细

数据库日志系统分解

时间:2017-11-29 20:57:06      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:mysql 日志

标题索引


  • 日志分类

  • 日志操作

  • 日志分解


日志分类

    在数据库系统中日志主要分为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)

    3.错误日志,错误日志记录所有数据库生命周期中所有的错误信息,具体如下操作

MariaDB [(none)]> show global variables like 'log_error%';
+---------------+------------------------------+
| Variable_name | Value                        |
+---------------+------------------------------+
| log_error     | /var/log/mariadb/mariadb.log |
+---------------+------------------------------+
1 row in set (0.00 sec)
#设置错误警告信息,1表示记录,0表示不记录
MariaDB [(none)]> show global variables like 'log_war%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_warnings  | 1     |
+---------------+-------+
1 row in set (0.00 sec)

    4.二进制日志,文件也为二进制文件,可利用数据库的恢复等,默认情况下是关闭的,且只能在配置文件中进行修改

MariaDB [(none)]> show global variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | OFF   |
+---------------+-------+
1 row in set (0.00 sec)

     修改配置文件验证

[ root@centos7 ~ ]#vim /etc/my.cnf
[mysqld]z
  log-bin=mysql-bin
  binlog_format=mixed

    再次登陆数据库进行验证

MariaDB [(none)]> show global variables like 'log_bin';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+
1 row in set (0.00 sec)
MariaDB [(none)]> help show ;
Name: 'SHOW'
Description:
SHOW has many forms that provide information about databases, tables,
columns, or status information about the server. This section describes
those following:

SHOW AUTHORS
SHOW {BINARY | MASTER} LOGS
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
MariaDB [(none)]> show binary logs;  #查看正在使用中的二进制日志
+------------------+-----------+
| Log_name         | File_size |
+------------------+-----------+
| mysql-bin.000001 |       264 |
| mysql-bin.000002 |       245 |
+------------------+-----------+
2 rows in set (0.00 sec)
MariaDB [(none)]> show binlog events in 'mysql-bin.000002';
+------------------+-----+-------------+-----------+-------------+-------------------------------------------+
| Log_name         | Pos | Event_type  | Server_id | End_log_pos | Info                                      |
+------------------+-----+-------------+-----------+-------------+-------------------------------------------+
| mysql-bin.000002 |   4 | Format_desc |         1 |         245 | Server ver: 5.5.52-MariaDB, Binlog ver: 4 |
+------------------+-----+-------------+-----------+-------------+-------------------------------------------+
1 row in set (0.00 sec)








    

数据库日志系统分解

标签:mysql 日志

原文地址:http://blog.51cto.com/weiboxue/2045770

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