MySQL 的事件日志通常指的是错误日志(error log)、二进制日志(binary log)、查询日志(general query log)和慢查询日志(slow query log)。不同类型的日志记录不同的信息,查看方式也略有不同。以下是常见的查看方法。
1. 查看错误日志(Error Log)
错误日志记录了 MySQL 启动、运行或停止过程中发生的错误信息。
说明: 默认情况下,错误日志文件名是主机名加上 .err,例如:hostname.err。 可以通过以下命令查看错误日志路径:SHOW VARIABLES LIKE 'log_error';
执行后会返回错误日志的完整路径,然后使用系统命令查看内容:
sudo cat /var/log/mysql/error.log(路径根据实际返回值调整)
2. 查看二进制日志(Binary Log)
二进制日志记录了所有更改数据的 SQL 语句(如 INSERT、UPDATE、DELETE),用于数据恢复和主从复制。
说明: 先确认是否启用了二进制日志:SHOW VARIABLES LIKE 'log_bin'; —— 如果值为 ON,表示已开启。
查看当前有哪些二进制日志文件:SHOW BINARY LOGS;
查看某个二进制日志的内容(需使用 mysqlbinlog 工具):mysqlbinlog /var/lib/mysql/binlog.000001 | more
注意:路径和文件名根据实际情况修改。
3. 查看通用查询日志(General Query Log)
该日志记录所有连接和执行的 SQL 语句,适合调试,但会影响性能,生产环境一般关闭。
说明: 查看是否启用:SHOW VARIABLES LIKE 'general_log';
查看日志存储位置:SHOW VARIABLES LIKE 'general_log_file';
启用日志(如未开启):SET GLOBAL general_log = 'ON';
之后可以直接用文本方式查看日志文件内容。
4. 查看慢查询日志(Slow Query Log)
记录执行时间超过指定阈值的 SQL 语句,用于性能优化。
说明: 查看是否启用慢查询日志:SHOW VARIABLES LIKE 'slow_query_log';
查看日志文件路径:SHOW VARIABLES LIKE 'slow_query_log_file';
查看慢查询阈值(单位:秒):SHOW VARIABLES LIKE 'long_query_time';
启用慢查询日志(如果关闭):SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2;
查看日志内容可直接使用 cat 或 tail 命令读取对应文件。
基本上就这些。根据需要选择合适的日志类型进行查看,有助于排查问题和优化数据库性能。注意日志文件权限可能需要 root 或 mysql 用户才能访问。
