MySQL进阶(日志)——MySQL的日志 & bin log (归档日志) & 事务日志redo log(重做日志) & undo log(回滚日志)
MySQL的日志主要分为错误日志、查询日志、慢查询日志、二进制日志(binlog)和事务日志(重做日志redo log和回滚日志undo log)。
- 错误日志:记录MySQL服务器启动、运行或停止时出现的问题。
- 查询日志:记录所有MySQL执行的语句。
- 慢查询日志:记录所有执行时间超过long\_query\_time秒的查询。
- binlog:二进制日志,记录所有影响数据库数据变更的语句。
- redo log:重做日志,保证事务的持久性。记录事务对数据页的修改的物理情况。
- undo log:回滚日志,保证事务的原子性、一致性。记录事务开始前数据的镜像。
以下是查看和配置MySQL日志的基本命令:
-- 查看错误日志位置
SHOW VARIABLES LIKE 'log_error';
-- 查看查询日志是否开启及位置
SHOW VARIABLES LIKE 'general_log';
SET GLOBAL general_log = 'ON';
SHOW VARIABLES LIKE 'general_log_file';
-- 查看慢查询日志状态及位置
SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'slow_query_log_file';
SET GLOBAL slow_query_log = 'ON';
-- 查看二进制日志状态及位置
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';
SHOW BINARY LOGS;
-- 设置慢查询时间
SET GLOBAL long_query_time = 2;
-- 查看innodb引擎的重做日志组信息
SHOW GLOBAL STATUS LIKE 'Innodb_redo_log_len';
-- 查看innodb引擎的回滚日志信息
SHOW GLOBAL STATUS LIKE 'Innodb_undo_log_trunc_and_fill';
注意:日志的配置和使用可能会根据MySQL的不同版本和存储引擎(如InnoDB、MyISAM等)有所不同。
评论已关闭