MySQL是一个开源的关系型数据库管理系统,它可以在不同的操作系统中运行.MySQL提供了多种日志记录工具,使得数据库管理员可以更好地了解MySQL数据库的运行情况.
今天小编给大家带来得是MySQL日志设置及查看方法,包括以下内容:
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 的步骤如下:
/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
要查看 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 文件,可以使用 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 日志的攻略,请根据自己的需要进行配置和使用.