宝塔面板MySQL启动失败因磁盘空间不足,需依次执行:一、用df -h和du命令定位高占用分区与目录;二、清理过期备份文件;三、清空slow.log和error.log日志;四、删除已停止MySQL的ibtmp1临时文件;五、卸载未使用的PHP版本。

如果您在宝塔面板中尝试启动 MySQL 或 MariaDB 数据库服务时失败,并提示“磁盘空间不足”,则说明系统根分区或数据库数据目录所在磁盘的可用空间已低于服务运行所需的最低阈值。以下是清理磁盘空间以恢复数据库启动的具体操作步骤:
一、确认磁盘使用情况
需先定位实际占用过高的分区及具体目录,避免误删关键文件。宝塔面板日志、网站备份、数据库慢查询日志及临时文件是常见高占用来源。
1、登录宝塔面板,在左侧菜单点击终端,输入命令查看各分区使用率:
df -h
2、重点关注 / 或 /www 所在挂载点的 Use% 值,若超过 95%,即为风险状态。
3、执行以下命令定位大文件(按大小倒序):
du -sh /www/* 2>/dev/null | sort -hr | head -20
二、清理宝塔面板自动备份文件
宝塔默认开启站点与数据库自动备份,备份文件长期累积极易占满磁盘。这些文件位于固定路径且无业务依赖,可安全清理过期备份。
1、进入宝塔面板左侧菜单计划任务,检查是否存在“备份网站”或“备份数据库”的定时任务。
2、打开终端,执行命令列出所有备份压缩包:
ls -lt /www/backup/site/
3、删除早于30天的站点备份:
find /www/backup/site/ -name "*.zip" -mtime +30 -delete
4、删除早于30天的数据库备份:
find /www/backup/database/ -name "*.sql.gz" -mtime +30 -delete
三、清空数据库慢查询日志与错误日志
MySQL 的 slow.log 和 error.log 在高负载或配置不当情况下可能持续写入并膨胀至数GB。此类日志非实时必需,可截断或轮转处理。
1、在宝塔面板中点击数据库 → 选择对应数据库服务器 → 查看配置修改,确认 slow_query_log_file 和 log_error 路径(通常为 /www/server/data/*.log)。
2、执行命令清空慢查询日志:
echo "" > /www/server/data/mysql-slow.log
3、执行命令清空错误日志:
echo "" > /www/server/data/error.log
4、重启 MySQL 服务前,建议先关闭慢查询日志功能(在配置文件中将 slow_query_log 设置为 0),防止再次膨胀。
四、删除残留的 MySQL 临时文件与 ibtmp1
InnoDB 存储引擎在运行中会生成 ibtmp1 临时表空间文件,异常退出后该文件可能无法自动回收,且不随数据库停止而消失。
1、确认 MySQL 是否已完全停止:
systemctl status mysqld
2、检查 /www/server/data/ 目录下是否存在 ibtmp1 文件:
ls -lh /www/server/data/ibtmp1
3、若文件大小超过 1GB 且 MySQL 已停止,可直接删除:
rm -f /www/server/data/ibtmp1
4、注意:该操作仅在 MySQL 完全停止状态下安全;若服务仍在运行,需先执行 systemctl stop mysqld。
五、卸载未使用的 PHP 版本与旧运行环境
宝塔面板安装多个 PHP 版本时,每个版本均占用数百MB至1GB空间,旧版 PHP 若无站点调用,可彻底卸载释放空间。
1、进入宝塔面板左侧菜单软件商店 → 点击PHP标签页。
2、识别当前无站点使用的 PHP 版本(如 PHP 7.2、PHP 8.0),在其右侧点击卸载按钮。
3、确认卸载后,系统将自动清除 /www/server/php/ 对应版本目录及关联扩展。
4、卸载完成后,执行命令验证空间释放:
df -h | grep "$(df | grep '/www' | awk '{print $1}')"









