欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-04-21 20:49:13
...
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中的六种日志类型的介绍的详细内容,更多请关注其它相关文章!