Linux 系统下开启 MySQL 日志功能

随着信息技术的不断发展,MySQL 数据库因其稳定性和高效性被广泛应用于各种场景,在数据库管理过程中,日志功能是不可或缺的一部分,它可以帮助我们了解数据库的运行状态,便于问题的排查和优化,本文将详细介绍在 Linux 系统下如何开启 MySQL 的日志功能。
了解 MySQL 日志类型
MySQL 日志主要包括以下几种类型:
- 慢查询日志(Slow Query Log):记录执行时间超过指定阈值的查询语句。
- 错误日志(Error Log):记录数据库运行过程中出现的错误信息。
- 通用查询日志(General Query Log):记录所有查询语句的执行情况。
- 二进制日志(Binary Log):用于数据库的备份和恢复,以及主从复制。
开启慢查询日志
修改配置文件
我们需要修改 MySQL 的配置文件,通常是 /etc/my.cnf 或 /etc/mysql/my.cnf,找到以下配置项:
[mysqld]
在 [mysqld] 区块下添加或修改以下配置:
slow-query-log = ON
slow-query-log-file = /var/log/mysql/slow-query.log
long-query-time = 2
log-queries-not-using-indexes = ON
slow-query-log = ON:开启慢查询日志功能。slow-query-log-file = /var/log/mysql/slow-query.log:指定慢查询日志文件的存储路径。long-query-time = 2:设置查询语句执行时间超过 2 秒时记录到慢查询日志。log-queries-not-using-indexes = ON:记录没有使用索引的查询语句。
重启 MySQL 服务
修改完配置文件后,重启 MySQL 服务以使配置生效:

sudo systemctl restart mysql
开启错误日志
修改配置文件
同样地,在 MySQL 配置文件中找到 [mysqld] 区块,添加或修改以下配置:
[mysqld]
log-error = /var/log/mysql/error.log
log-error = /var/log/mysql/error.log:指定错误日志文件的存储路径。
重启 MySQL 服务
重启 MySQL 服务以使配置生效:
sudo systemctl restart mysql
开启通用查询日志
修改配置文件
在 MySQL 配置文件中找到 [mysqld] 区块,添加或修改以下配置:
[mysqld]
general-log = ON
general-log-file = /var/log/mysql/general.log
general-log = ON:开启通用查询日志功能。general-log-file = /var/log/mysql/general.log:指定通用查询日志文件的存储路径。
重启 MySQL 服务

重启 MySQL 服务以使配置生效:
sudo systemctl restart mysql
开启二进制日志
修改配置文件
在 MySQL 配置文件中找到 [mysqld] 区块,添加或修改以下配置:
[mysqld]
server-id = 1
log-bin = /var/log/mysql/binlog
binlog-format = ROW
binlog-row-image = FULL
server-id = 1:设置 MySQL 服务器 ID,用于主从复制。log-bin = /var/log/mysql/binlog:指定二进制日志文件的存储路径。binlog-format = ROW:设置二进制日志格式为 ROW 格式。binlog-row-image = FULL:记录所有行变化。
重启 MySQL 服务
重启 MySQL 服务以使配置生效:
sudo systemctl restart mysql
通过以上步骤,我们已经在 Linux 系统下成功开启了 MySQL 的日志功能,在实际应用中,可以根据需要调整日志配置,以便更好地管理和优化数据库。















