MySQL的日志功能对于数据库的管理和故障排查至关重要。以下是关于MySQL日志开启的详细解答:
MySQL日志主要包括以下几种类型:
MySQL默认开启错误日志。你可以通过修改my.cnf
(Linux)或my.ini
(Windows)文件来更改日志路径和级别。
[mysqld]
log-error=/var/log/mysql/error.log
查询日志默认是关闭的。你可以通过以下命令开启:
SET GLOBAL general_log = 'ON';
SET GLOBAL log_output = 'TABLE'; -- 或 'FILE'
或者在配置文件中添加:
[mysqld]
general_log = 1
general_log_file = /var/log/mysql/query.log
慢查询日志也默认是关闭的。你可以通过以下命令开启:
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2; -- 设置慢查询阈值,单位为秒
SET GLOBAL log_output = 'TABLE'; -- 或 'FILE'
或者在配置文件中添加:
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 2
二进制日志默认是开启的,但可以通过配置文件进行修改:
[mysqld]
log-bin = /var/log/mysql/mysql-bin.log
binlog_format = ROW -- 或 MIXED, STATEMENT
中继日志在主从复制中自动创建和使用,无需手动开启。
pt-query-digest
,来分析和优化慢查询。领取专属 10元无门槛券
手把手带您无忧上云