MySQL 操作日志分析:“一步步深入”(mysql操作日志查看)

MySQL操作日志分析是MySQL用户和管理员的必备技能,可以帮助我们了解MySQL实例的状态,并追踪系统中任何问题的源头。今天,我们将介绍如何注意一步步分析MySQL操作日志,找出问题。

首先,管理员需要弄清楚MySQL操作日志的记录位置。通常,操作日志文件可以在MySQL实例中通过以下方法查找:

mysql> show variables like '%log_file%';
+---------------------------------+--------------------------+
| Variable_name | Value |
+---------------------------------+--------------------------+
| general_log_file | /var/log/mysql/general.log |
| slow_query_log_file | /var/log/mysql/slow.log |
+---------------------------------+--------------------------+
2 rows in set (0.00 sec)

其次,可以使用tail程序读取操作日志文件的内容,或使用几个工具(如MySQL log-tailer)来简化这个过程。

接下来,管理员可以仔细检查日志,首先,查看慢查询和错误日志

grep 'ERROR\|slowlog' /var/log/mysql/general.log
2021-10-12T15:34:51.751371Z 111 [ERROR] Missing error log file
2021-10-12T15:45:27.101314Z 21248 [Warning] InnoDB: Slow query: 16.045 sec, SELECT * from customer LIMIT 1000

然后,可以检查再连接池工作的情况

grep -E 'Thread|Connection' /var/log/mysql/general.log 
2021-10-12T15:45:27.137290Z 0 [Note] Thread ID=1 Connection ID=1
2021-10-12T15:45:27.992030Z 44 [Note] Thread ID=2 Connection ID=2
2021-10-12T15:45:28.002345Z 45 [Note] Thread ID=3 Connection ID=3

最后,可查看普通查询日志:

grep -E 'Query|Command' /var/log/mysql/general.log 
2021-10-12T15:45:26.944222Z 0 [Note] Executing query SELECT * from customer
2021-10-12T15:45:26.945520Z 0 [Note] Command used: SELECT
2021-10-12T15:45:27.101461Z 21248 [Note] Executing query SELECT * from customer LIMIT 1000
2021-10-12T15:45:27.101850Z 21248 [Note] Command used: SELECT

以上是MySQL操作日志分析的基本步骤。管理员需要一步步仔细检查日志来发现问题,耐心是必不可少的!


数据运维技术 » MySQL 操作日志分析:“一步步深入”(mysql操作日志查看)