MySQL日志设置及查看方法

MySQL是一个开源的关系型数据库管理系统,它可以在不同的操作系统中运行。MySQL提供了多种日志记录工具,使得数据库管理员可以更好地了解MySQL数据库的运行情况。

本文介绍了MySQL日志设置及查看方法,包括以下内容:

设置MySQL日志

General Query Log

General Query Log 是 MySQL 记录所有 SQL 语句执行时的日志。这种方法适合于在开发和测试环境中进行调试,但在生产环境中可能会导致性能问题。要启用 General Query Log ,请按照以下步骤进行:

  1. 打开 MySQL 配置文件 my.cnf,以下为在 Ubuntu 16.04 中配置文件的位置:
/etc/mysql/my.cnf
  1. 在文件中找到以下行:
# general_log_file        = /var/log/mysql/mysql.log
# general_log             = 1
  1. 解除注释和修改 general_log 和 general_log_file 配置项。如果 general_log 的值为 1,表示启用了这种类型的日志记录。如果 general_log_file 的值未指定或为空,则将日志记录到默认位置:/var/log/mysql/mysql.log。

如下为启用 General Query Log 的示例:

general_log_file=/var/log/mysql/mysql.log
general_log=1
  1. 重启 MySQL 服务使其重新加载配置文件:
sudo service mysql restart

Slow Query Log

Slow Query Log 主要用于记录耗时较长的查询,以便优化查询语句。启用 Slow Query Log 的步骤如下:

  1. 修改 MySQL 配置文件 my.cnf,以下为在 Ubuntu 16.04 中配置文件的位置:
/etc/mysql/my.cnf
  1. 查找和修改以下配置项的值。请确保值未以注释的方式进行:
slow_query_log         = 1
slow_query_log_file    = /var/log/mysql/mysql-slow.log
long_query_time        = 2
  • slow_query_log 的值为 1,表示启用 Slow Query Log;
  • slow_query_log_file 指定了 Slow Query Log 文件的位置;
  • long_query_time 是一个阈值,表示运行时间超过该阈值(以秒为单位)的查询将被记录到 Slow Query Log 中。

如下为启用 Slow Query Log 的示例:

slow_query_log         = 1
slow_query_log_file    = /var/log/mysql/mysql-slow.log
long_query_time        = 2
  1. 重启 MySQL 服务才能使配置生效:
sudo service mysql restart

查看MySQL日志

General Query Log

要查看 General Query Log 的日志文件,可通过以下两种方式来打开日志文件:

  1. 在终端上使用 cat 命令:
sudo cat /var/log/mysql/mysql.log
  1. 如果您想通过 MySQL 终端直接查看 General Query Log,请执行以下命令:
mysql> set global general_log = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like '%general_log%';
+------------------+--------------------------+
| Variable_name    | Value                    |
+------------------+--------------------------+
| general_log      | ON                       |
| general_log_file | /var/log/mysql/mysql.log |
+------------------+--------------------------+
2 rows in set (0.00 sec)

mysql> select * from sample_table limit 0,10; 
+----+-------------------------+
| id | name                    |
+----+-------------------------+
|  1 | User 1                  |
|  2 | User 2                  |
|  3 | User 3                  |
|  4 | User 4                  |
|  5 | User 5                  |
|  6 | User 6                  |
|  7 | User 7                  |
|  8 | User 8                  |
|  9 | User 9                  |
| 10 | User 10                 |
+----+-------------------------+
10 rows in set (0.01 sec)

Slow Query Log

要查看 Slow Query Log 文件,可以使用 mysqldumpslow 命令或通过以下方式打开日志文件:

  1. 在终端上使用 cat 命令:
sudo cat /var/log/mysql/mysql-slow.log
  1. 在 MySQL 终端上执行以下命令查看慢查询日志:
mysql> show variables like '%slow_query_log%';
+---------------------+----------------------------+
| Variable_name       | Value                      |
+---------------------+----------------------------+
| slow_query_log      | ON                         |
| slow_query_log_file | /var/log/mysql/mysql-slow.log |
+---------------------+----------------------------+
2 rows in set (0.02 sec)

mysql> select * from sample_table where id > 1000;
Empty set (1.38 sec)

mysql> exit;
Bye

以上为设置和查看 MySQL 日志的攻略,请根据自己的需要进行配置和使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL日志设置及查看方法 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • MySql 之UUID()

    mysql中做了个定时执行的事件,发现原来起作用,现在不行了。 调用/var/lib/mysql中的错误日志文件,发现一句: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsaf…

    MySQL 2023年4月12日
    00
  • 【必知必会的MySQL知识】⑤DQL语言

    目录 一、前言 二、基础查询 2.1 语法 2.2 实践操作 三、条件查询 3.1 语法 3.2 where 语句操作符 3.3 实践操作 四、排序查询 4.1 语法格式 4.2 实践操作 五、分组查询 5.1 语法 5.2 聚集函数 5.2.1 聚集函数简单使用 5.3 实践操作 5.4 规定与小结 六、连接查询(多表查询) 6.1 简介 6.2 笛卡儿积…

    MySQL 2023年5月4日
    00
  • mysql执行sql文件报错Error: Unknown storage engine‘InnoDB’的解决方法

    当我们使用MySQL执行SQL文件时,可能会遇到“Error: Unknown storage engine ‘InnoDB’”的报错,这是因为MySQL没有正确地识别InnoDB存储引擎导致的。下面是解决这个问题的步骤和方法。 步骤 查看当前MySQL版本是否支持InnoDB存储引擎。可以通过以下命令查看: SHOW ENGINES; 查看结果中是否包含I…

    MySQL 2023年5月18日
    00
  • MySQL进阶之索引

    MySQL进阶之索引 索引的作用 索引是一种数据结构,能够极大地提高数据库的查询效率。在使用索引后,查询时若不经过索引扫描,则可以直接在索引中找到相应的记录,从而加速查询过程。索引一般用于高效查询特定条件下的数据。 常见的索引类型 MySQL中常见的索引类型有以下几种: B-Tree索引:B-Tree是指支持节点分裂和合并的一种树状结构,常用于磁盘存储系统或…

    MySQL 2023年5月19日
    00
  • MySQL8.0无法启动3534的解决方法

    以下是针对MySQL8.0无法启动3534的解决方法的完整攻略: 1. 确认错误信息 当MySQL8.0无法启动,提示“[ERROR] [MY-012574] [InnoDB] Plugin initialization aborted with error Generic error”等类似错误信息时,需要先确认错误信息并记录下来。 2. 检查配置文件 执…

    MySQL 2023年5月18日
    00
  • mysql #1062 –Duplicate entry ‘1’ for key ‘PRIMARY’

    当执行INSERT INTO语句时,可能会遇到“Duplicate entry ‘1’ for key ‘PRIMARY’”错误,这是因为插入的记录已经存在于表中,这可能是由于表的主键重复引起的错误。以下是解决该问题的完整攻略。 首先,检查您的数据库表结构并确保主键在表中唯一。如果不是唯一的,请更改表结构,使其主键唯一。您可以使用以下命令将主键定义为自增长:…

    MySQL 2023年5月18日
    00
  • MYSQL拒绝访问报错not allowed to connect

    MYSQL拒绝访问报错解决攻略 当我们尝试连接MYSQL数据库时,有时会收到“not allowed to connect”(不允许连接)或类似的错误提示信息。这种错误通常是由于以下原因引起的: 没有正确设置MYSQL用户权限 MYSQL服务没有正确启动 MYSQL端口被占用或防火墙限制了访问 下面将分别介绍如何解决上述问题。 没有正确设置MYSQL用户权限…

    MySQL 2023年5月18日
    00
  • egg实现登录鉴权(五):mysql表中存储树形结构数据

    需求 在mysql表上实现树形结构数据的存储 实现树形数据的查询,返回json格式的树形数据 实现 mysql表中存储树形结构通常有四种方法,本文采用第一种即每条记录加表示上级id的pid字段 数据库表role结构,用户名:root,密码:123456,数据库:test 代码基本上和之前的一样,主要实现一维的对象数组转化为树形数组 config目录下conf…

    MySQL 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部