在Debian上定制MySQL日志记录,可以通过修改MySQL配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
(或/etc/mysql/my.cnf
,取决于Debian版本)来实现。以下是一些常见的日志记录选项:
通用查询日志(General Query Log):记录所有客户端连接和执行的SQL语句。
在[mysqld]
部分添加或修改以下行:
general_log = 1
general_log_file = /var/log/mysql/general.log
慢查询日志(Slow Query Log):记录执行时间超过指定阈值的SQL语句。
在[mysqld]
部分添加或修改以下行:
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2 # 设置慢查询阈值,单位:秒
log_queries_not_using_indexes = 1 # 记录未使用索引的查询
错误日志(Error Log):记录MySQL服务器的错误信息。
在[mysqld]
部分添加或修改以下行:
log_error = /var/log/mysql/error.log
二进制日志(Binary Log):记录对数据库执行的所有更改操作,用于数据复制和恢复。
在[mysqld]
部分添加或修改以下行:
log_bin = /var/log/mysql/mysql-bin.log
server_id = 1 # 设置服务器ID,确保在复制环境中唯一
expire_logs_days = 10 # 设置二进制日志过期时间,单位:天
binlog_format = MIXED # 设置二进制日志格式,可选值为STATEMENT, ROW, MIXED
修改配置文件后,重启MySQL服务以使更改生效:
sudo systemctl restart mysql
请注意,启用通用查询日志和慢查询日志可能会对性能产生影响,因此在生产环境中建议仅在需要时启用它们。另外,确保MySQL用户对日志文件的目录具有写入权限。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Debian下Golang日志备份策略