MySQL InnoDB Redo Log 文件调整与清理

学习笔记作者:admin日期:2025-05-25点击:30

摘要:总结如何安全地调整和清理 MySQL InnoDB 的 redo log 文件(如 ib_logfile0、ib_logfile1 和 ib_logfile0.old),解决文件过大问题。

MySQL InnoDB Redo Log 文件调整与清理

问题描述

      当 MySQL 的 redo log 文件(如 ib_logfile0ib_logfile1)过大时,可能导致磁盘空间不足或其他性能问题。此外,还可能出现冗余文件(如 ib_logfile0.old),需要清理。

解决方案

1. 停止 MySQL 服务

sudo systemctl stop mysql
# 或者
sudo service mysql stop

2. 删除旧的 redo log 文件

sudo rm /var/lib/mysql/ib_logfile*

3. 修改配置文件,设置合适的日志大小

sudo nano /etc/my.cnf

[mysqld]
innodb_log_file_size = 256M

4. 启动 MySQL 服务

sudo systemctl start mysql

5. 检查是否生效

SHOW VARIABLES LIKE 'innodb_log%';

注意事项

  • 确保 MySQL 已停止后再删除日志文件。
  • 修改 innodb_log_file_size 后需重启 MySQL。
  • ib_logfile0.old 文件可以安全删除。

总结命令流程(快速参考)

# 1. 停止 MySQL
sudo systemctl stop mysql

# 2. 删除 redo log 文件
sudo rm /var/lib/mysql/ib_logfile*

# 3. 编辑 my.cnf 设置 innodb_log_file_size
sudo nano /etc/my.cnf
# 添加:innodb_log_file_size = 256M

# 4. 启动 MySQL(自动重建日志)
sudo systemctl start mysql

上一篇      下一篇