Login
网站首页 > 文章中心 > 其它

MySQL日志设置及查看方法_MySQL查看连接日志

作者:小编 更新时间:2023-09-19 14:45:14 浏览量:225人看过

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

今天小编给大家带来得是MySQL日志设置及查看方法,包括以下内容:

设置MySQL日志

General Query Log

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


/etc/mysql/my.cnf


在文件中找到以下行:


# general_log_file        = /var/log/mysql/mysql.log
# general_log             = 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


重启 MySQL 服务使其重新加载配置文件:


sudo service mysql restart


Slow Query Log

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


/etc/mysql/my.cnf


查找和修改以下配置项的值.请确保值未以注释的方式进行:


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


重启 MySQL 服务才能使配置生效:


sudo service mysql restart


查看MySQL日志

General Query Log

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

在终端上使用 cat 命令:


sudo cat /var/log/mysql/mysql.log


如果您想通过 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 命令或通过以下方式打开日志文件:


sudo cat /var/log/mysql/mysql-slow.log


在 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 日志的攻略,请根据自己的需要进行配置和使用.

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章