如何为 MySQL 启用慢查询日志

[ad_1]

在本教程中,我们将向您展示如何在 Linux 系统上为 MySQL 启用慢查询日志。 MySQL 具有允许您将 SQL 查询记录到文件的内置功能,您可以启用完整的 SQL 查询日志到文件或仅慢运行查询日志。 如果启用 SQL 查询日志,我们很容易对 SQL 语句进行故障排除/调试,慢查询日志用于查找执行时间较长的查询,因此是优化的候选者。 我们假设您已经在 Linux 系统上安装了具有管理权限的 MySQL,并且我们假设您已经对 MySQL 有一些了解。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示逐步启用 MySQL 的慢查询日志。

先决条件

  • 运行以下操作系统之一的服务器:CentOS Linux。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

为 MySQL 启用慢查询日志

第 1 步。首先,让我们首先确保您的系统是最新的。

sudo dnf clean all
sudo dnf update

步骤 2. 配置 MySQL 服务器。

现在我们编辑 /etc/my.cnf 使用您喜欢的文本编辑器创建文件。

nano /etc/my.cnf

一旦你有了你的 my.cnf 打开文件,在“[mysqld]“ 部分。

[mysqld]
log-slow-queries
log-slow-queries= /var/log/mysql/slow-queries.log
long_query_time=5

Save 和 close 文件,然后创建文件 slow-queries.log。 您可以将文件放在您希望的任何位置,只要您在 my.cnf.

touch /var/log/mysql/slow-queries.log
chown mysql.mysql /var/log/mysql/slow-queries.log

最后,重启 MySQL 服务。 Enter 以下命令:

sudo systemctl restart mysql

步骤 3. 验证慢日志查询。

一旦成功配置。 检查“slow_query_log”参数(应为“ON”):

mysql> show variables like '%slow%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| log_slow_queries    | ON                             |
| slow_launch_time    | 2                              |
| slow_query_log      | ON                             |
| slow_query_log_file | /var/lib/mysql/mysqld-slow.log |
+---------------------+--------------------------------+
4 rows in set (0.00 sec)

接下来,我们检查参数“long_query_time”,它的时间应该是 5 秒:

mysql> show variables like '%long%';
+--------------------+----------+
| Variable_name      | Value    |
+--------------------+----------+
| long_query_time    | 5.000000 |
| max_long_data_size | 1048576  |
+--------------------+----------+
2 rows in set (0.00 sec)

恭喜! 您已成功启用 MySQL 上的慢查询日志。 感谢您使用本教程在 Linux 系统中启用 MySQL 上的慢查询日志。 如需更多帮助或有用信息,我们建议您查看 MySQL 官方网站.

[ad_2]

Related Posts