MySQL InnoDB Redo Log 文件调整与清理
学习笔记作者:admin日期:2025-05-25点击:214
摘要:总结如何安全地调整和清理 MySQL InnoDB 的 redo log 文件(如 ib_logfile0、ib_logfile1 和 ib_logfile0.old),解决文件过大问题。
MySQL InnoDB Redo Log 文件调整与清理
问题描述
      当 MySQL 的 redo log 文件(如 ib_logfile0 和 ib_logfile1)过大时,可能导致磁盘空间不足或其他性能问题。此外,还可能出现冗余文件(如 ib_logfile0.old),需要清理。
解决方案
1. 停止 MySQL 服务
sudo systemctl stop mysql
# 或者
sudo service mysql stop2. 删除旧的 redo log 文件
sudo rm /var/lib/mysql/ib_logfile*3. 修改配置文件,设置合适的日志大小
sudo nano /etc/my.cnf
[mysqld]
innodb_log_file_size = 256M4. 启动 MySQL 服务
sudo systemctl start mysql5. 检查是否生效
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