在 Linux 服务器运维中,查看 MySQL 日志是最常见的问题排查手段之一。下面我按 日志类型 → 查看方法 → 常用命令 给你一个完整、实用的说明。
| 日志类型 | 作用 |
|---|---|
| 错误日志(Error Log) | MySQL 启动、崩溃、异常信息 |
| 查询日志(General Log) | 所有 SQL 语句(一般不开启) |
| 慢查询日志(Slow Query Log) | 执行时间超过阈值的 SQL |
| 二进制日志(Binlog) | 数据变更记录(主从复制、恢复) |
| 中继日志(Relay Log) | 从库复制用 |
| 事务日志(Redo / Undo) | InnoDB 引擎内部 |
mysql -uroot -p
SHOW VARIABLES LIKE 'log_error';
SHOW VARIABLES LIKE 'general_log_file';
SHOW VARIABLES LIKE 'slow_query_log_file';
SHOW VARIABLES LIKE 'datadir';
SHOW VARIABLES LIKE 'log_error';
/var/log/mysqld.log
/var/log/mysql/error.log
tail -f /var/log/mysqld.log
或定位错误:
grep -i error /var/log/mysqld.log
SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'long_query_time';
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 2; -- 超过 2 秒
tail -f /var/log/mysql/slow.log
mysqldumpslow -s t -t 10 /var/log/mysql/slow.log
SHOW VARIABLES LIKE 'general_log';
SET GLOBAL general_log = 'ON';
tail -f /var/log/mysql/mysql.log
⚠️ 注意:开启后日志增长极快,排查完记得关闭。
SHOW VARIABLES LIKE 'log_bin';
ls /var/lib/mysql/
mysqlbinlog mysql-bin.000001
SHOW BINARY LOGS;
SHOW MASTER STATUS;
ps -ef | grep mysqld
或
mysql --help | grep "Default options" -A 1
docker logs mysql_container
docker exec -it mysql_container bash
cat /var/log/mysql/error.log
tail -n 100 /var/log/mysqld.log
mysqldumpslow -s t slow.log
SHOW SLAVE STATUS\G
✅ 错误日志 → 查启动 / 崩溃
✅ 慢查询日志 → 查性能
✅ binlog → 查数据变更 / 恢复
如果你愿意,可以告诉我:
我可以直接给你 精准命令或排查方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。