MySQL数据库磁盘写满后如何紧急处理_清理日志与扩容空间

张开发
2026/4/18 2:27:50 15 分钟阅读

分享文章

MySQL数据库磁盘写满后如何紧急处理_清理日志与扩容空间
磁盘写满时MySQL卡住应先确认mysqld进程存活并检查deleted大文件优先停用日志后删除slow/general logbinlog和redo log需停库操作ibdata1膨胀只能通过导出、删文件、启用innodb_file_per_table重建解决。MySQL磁盘写满时SHOW PROCESSLIST卡住或连不上怎么办连不上 MySQL 不代表服务挂了很可能是磁盘满导致写入阻塞、线程卡在日志刷盘环节。此时 mysqld 进程往往仍在运行但所有写操作包括 SHOW PROCESSLIST会超时或卡死。先别急着重启——重启失败概率极高且可能触发崩溃恢复进一步加重磁盘压力用 ps aux | grep mysqld 确认进程还在再用 lsof -p $(pgrep mysqld) | grep deleted 查看是否有被删除但仍被占用的大文件常见于误删 ib_logfile 或慢日志如果还能执行命令优先尝试 mysqladmin -u root -p ping 测试基础连通性失败则跳过 SQL 层直奔系统层清理哪些日志能立刻删、哪些必须停服务才能动不是所有“日志”都能直接 rmMySQL 对不同日志的打开/写入方式差异极大误删可能引发启动失败。安全可删无需停库slow_query_log_file、general_log_file前提是已关闭对应日志开关SET GLOBAL slow_query_log OFF否则删完会被立即重建需停库后删ib_logfile0、ib_logfile1redo log、mysql-bin.*binlog除非确认不需要主从和恢复不能删但可轮转error_log通过 mysqladmin -u root -p flush-logs 触发重命名旧文件保留但不再写入innodb_file_per_tableOFF 时ibdata1 膨胀怎么减这是最让人头疼的情况即使删了所有表ibdata1 也不会收缩。它像一个只进不出的黑洞尤其在共享表空间模式下。 橙篇 百度文库发布的一款综合性AI创作工具

更多文章