宝塔面板断电数据库损坏可一键修复:一、执行bash btpython /www/server/panel/script/init_db.py repair后重启;二、运行bt16选16修复;三、图形界面齿轮图标→“修复面板”;四、强制重建数据库(慎用)。

如果宝塔面板因断电导致内部数据库损坏,可能出现无法加载网站列表、数据库列表为空、页面报错或面板功能异常等情况。以下是多种可立即执行的一键修复方法:
一、使用内置命令自动修复宝塔数据库
该方法调用宝塔官方维护脚本,直接修复面板核心数据库文件(/www/server/panel/data/default.db),无需手动干预数据目录权限或进程状态。
1、通过SSH连接服务器,确保已登录root用户。
2、执行修复命令:bash btpython /www/server/panel/script/init_db.py repair
3、等待终端输出“Repair completed successfully”提示。
4、重启面板服务:/etc/init.d/bt restart
二、执行快捷修复指令bt16
该指令为宝塔v7.9.0+版本集成的封装命令,专用于断电、异常关机后引发的元数据损坏场景,会校验并重建缺失的表结构及索引。
1、在SSH中输入:bt16
2、按提示输入数字“16”确认执行数据库修复。
3、观察输出中是否出现“[OK] Panel database repaired”字样。
4、执行完成后运行:bt reload刷新面板缓存。
三、通过面板图形界面触发修复
当面板仍可部分访问(如首页加载但功能按钮失效),可利用内置修复入口绕过命令行操作,避免因路径误输导致二次错误。
1、使用浏览器访问面板地址(如https://IP:8888),输入账号密码登录。
2、在首页右上角找到齿轮图标,点击后选择“修复面板”选项。
3、在弹出窗口中点击“继续修复”按钮。
4、等待进度条完成,页面自动跳转至首页并显示修复成功提示。
四、强制重建面板数据库(适用于init_db.py失败时)
该方法将清空当前面板数据库并初始化全新结构,保留网站配置文件、SSL证书、FTP账户等外部数据,但需重新绑定数据库用户与网站关联关系。
1、停止面板服务:/etc/init.d/bt stop
2、备份原数据库:cp /www/server/panel/data/default.db /www/server/panel/data/default.db.bak_$(date +%s)
3、删除损坏数据库:rm -f /www/server/panel/data/default.db
4、执行初始化:btpython /www/server/panel/script/init_db.py
5、重启面板:/etc/init.d/bt start










