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日

相关文章

  • Dbeaver连接MySQL数据库及错误Connection refusedconnect处理方法

    一、Dbeaver连接MySQL数据库攻略: Dbeaver是一款开源的通用数据库管理工具,支持多种数据库,包括MySQL。在使用Dbeaver连接MySQL数据库的过程中,需要遵循以下步骤: 安装Dbeaver并打开软件; 点击“数据库”选项卡中的“新建连接”; 在弹出的窗口中选择数据库类型为“MySQL”; 输入MySQL数据库的地址、端口、用户名和密码…

    MySQL 2023年5月18日
    00
  • openEuler、龙蜥Anolis、统信UOS系统下编译GreatSQL二进制包

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。 作者: Yejinrong/叶金荣 文章来源:GreatSQL社区投稿 背景介绍 编译环境 编译前准备工作 编译GreatSQL 初始化并启动GreatSQL数据库 运行sysbench测试 附录:编译sysbe…

    MySQL 2023年4月17日
    00
  • 读SQL进阶教程笔记13_SQL中的分组和层级

    1. 数据分组 1.1. SQL的语句中具有分组功能的是GROUP BY和PARTITION BY 1.1.1. 两者都有数学的理论基础 1.1.2. 都可以根据指定的列为表分组 1.1.3. 区别仅仅在于,GROUP BY在分组之后会把每个分组聚合成一行数据 1.1.4. GROUP BY的作用是将一个个元素划分成若干个子集 1.2. 示例 1.2.1. …

    MySQL 2023年4月22日
    00
  • 将MySQL去重操作优化到极致的操作方法

    下面是详细讲解将MySQL去重操作优化到极致的操作方法的完整攻略。 1. 针对单表的去重操作 1.1 利用DISTINCT关键字 在MySQL中,可以使用DISTINCT关键字实现对单表去重操作。例如,以下SQL语句可以筛选出表table1中name列不重复的记录: SELECT DISTINCT name FROM table1; 1.2 利用GROUP …

    MySQL 2023年5月19日
    00
  • MySQL数据库防止人为误操作的实例讲解

    针对MySQL数据库防止人为误操作,我可以提供以下完整攻略: 步骤一:创建新用户并限制权限 在MySQL中创建新用户并为其指定仅可访问所需数据库、表、列等的权限,从而避免了误操作导致的数据损坏。操作步骤如下: 登录MySQL主机,在命令行或图形界面中输入如下命令: sql CREATE USER ‘username’@’localhost’ IDENTIFI…

    MySQL 2023年5月18日
    00
  • Mysql升级到5.7后遇到的group by查询问题解决

    当将MySQL数据库升级到5.7版本后,可能会出现一些与group by查询相关的问题,这是因为MySQL 5.7的group by语句在某些情况下会产生与之前版本不同的结果。 为了解决这些问题,可以采用以下步骤: 1.启用SQL_MODE MySQL 5.7具有更严格的SQL_MODE,以提高数据的一致性和准确性。可以通过修改/etc/mysql/mysq…

    MySQL 2023年5月18日
    00
  • MySQL控制用户输错密码尝试次数

    MySQL在安全性方面有一个有用的特性——控制用户输错密码尝试次数。这个特性可以防止暴力破解密码攻击,限制在一定时间内允许用户的登录尝试次数,错过限制次数后,MySQL会禁止用户登录一段时间。这里提供了一些步骤来实现这个特性。 1. 创建一个新的用户 首先,创建一个新用户专门用于控制限制和监控登录尝试次数。以下是创建用户的SQL脚本,你可以将“new_use…

    MySQL 2023年5月18日
    00
  • mysql中的7种日志小结

    当我们使用MySQL时,我们可能会遇到各种问题,比如数据丢失、故障恢复等。为了解决这些问题,MySQL提供了一组非常有用的日志。 MySQL中有7种主要的日志,它们是: 错误日志 (error log) 查询日志 (query log) 二进制日志 (binary log) 慢查询日志 (slow query log) 中继日志 (relay log) 事务…

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