在本教程中,我们将向您展示如何在 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 官方网站.