MySQL中的六种日志类型的介绍

零下一度
零下一度 原创
2017-05-12 11:03:38 2926浏览

MySQL主要有以下几种日志类型:

错误日志――MySQL服务启动和关闭过程中的信息以及其它错误和警告信息。默认在数据目录下。

一般查询日志――用于记录select查询语句的日志。general_log、general_log_file 默认关闭,建议关闭。

慢查询日志――log-slow-queries记录所有超过long_query_time时间的SQL语句,

二进制日志――记录任何引起数据变化的操作,用于备份和还原。默认存放在数据目录中,在刷新和服务重启时会滚动二进制日志。

中继日志――从主服务器的二进制文件中复制的事件,并保存为二进制文件,格式和二进制日志一样。

事务日志――保证事务的一致性。

慢查询日志:

mysql> show variables like "long%";                    #查看慢查询日志信息
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 3.000000 |
+-----------------+----------+
1 row in set (0.13 sec)
mysql> show variables like "slow%";                    #查看慢查询日志设置
+---------------------+-----------------------------+
| Variable_name       | Value                       |
+---------------------+-----------------------------+
| slow_launch_time    | 2                           |
| slow_query_log      | OFF                         |
| slow_query_log_file | /data/mysql/slave2-slow.log |
+---------------------+-----------------------------+
3 rows in set (0.06 sec)
mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log #查看访问最多的10个SQL
mysql> set long_query_time=5;                           #慢查询时间设置,永久改变需要更改
Query OK, 0 rows affected (0.25 sec)                    配置文件
    二进制日志:
mysql> show global variables like "%log%";              #查看日志相关变量
mysql> show variables like "%log_bin%";                 #查看二进制变量
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin                         | OFF   |
| log_bin_basename                |       |
| log_bin_index                   |       |
| log_bin_trust_function_creators | OFF   |
| log_bin_use_v1_row_events       | OFF   |
| sql_log_bin                     | ON    |
+---------------------------------+-------+
[root@slave02 mysql]# vim /etc/my.cnf
log_bin                                                #去掉注释,开启二进制日志
[root@slave02 mysql]# service mysqld restart
mysql> show binary logs;                               #查看所有二进制日志文件
+-------------------+-----------+
| Log_name          | File_size |
+-------------------+-----------+
| slave2-bin.000001 |       168 |
| slave2-bin.000002 |       120 |
+-------------------+-----------+
mysql> show master status;                             #查看当前使用的二进制日志
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| slave2-bin.000002 |      120 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.03 sec)
mysql> flush logs;                                     #刷新二进制日志
Query OK, 0 rows affected (0.17 sec)
[root@slave02 mysql]# mysqlbinlog mysql-bin.00001;     #显示二进制文件内容
mysql> show global status like '%Slow_queries%';       #查看慢查询日志数目

【相关推荐】

1. 免费mysql在线视频教程

2. MySQL最新手册教程

3. 数据库设计那些事

以上就是MySQL中的六种日志类型的介绍的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。