ComfyUI 报错:Failed to initialize database 数据库锁定终极解决教程

9次阅读
没有评论

很多小伙伴在启动 ComfyUI 时,会遇到数据库初始化失败的报错,反复重启软件、刷新页面都无法解决,严重影响绘图工作。今天就给大家完整拆解这个报错的核心原因,附带 4套从零到一的解决方案,新手也能一次性彻底搞定。

一、完整报错信息

[ERROR] Failed to initialize database. Please ensure you have installed the latest requirements. If the error persists, please report this as in future the database will be required: Could not acquire lock on database ‘C:\Work\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\user\comfyui.db’. Another ComfyUI process may already be using it. Use –database-url to specify a separate database file.

该报错本质是 SQLite 数据库被锁定

常见触发场景:

  • 非正常关闭 ComfyUI(直接关窗口、强制关机、闪退)
  • 后台残留 Python 进程,占用数据库锁不释放
  • 尝试同时打开多个 ComfyUI 程序实例
  • 杀毒软件/系统权限锁定文件夹文件

⚠️ 重点:浏览器多开标签页不会导致该问题,根本原因是后台进程冲突

三、全套解决方法(从简单到进阶,优先用方案1)

方案一:彻底关闭残留进程(最优、最简单、90%有效)

大部分情况都是进程残留导致锁不释放,按步骤操作即可:

  1. 关闭所有 ComfyUI 黑色命令行窗口、程序窗口
  2. 按下 Ctrl+Shift+Esc 打开任务管理器
  3. 在进程列表中,右键结束以下所有进程:
    1. python.exe / pythonw.exe
    2. comfyui-main-windows.exe
    3. 对应 run_nvidia_gpu.bat 启动的残留进程
  4. 等待10-20秒(给 SQLite 数据库锁释放时间)
  5. 重新双击 run_nvidia_gpu.bat 启动 ComfyUI 即可

方案二:手动删除数据库临时锁文件(进程找不到时使用)

如果任务管理器找不到残留进程,但依旧报错,就是遗留了临时锁文件:

  1. 打开报错对应的数据库目录: C:\Work\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\user\
  2. 找到并删除 两个临时锁文件
    1. comfyui.db-shm
    2. comfyui.db-wal
  3. ⚠️ 绝对不要删除 comfyui.db 本体文件,会丢失所有自定义设置、节点配置
  4. 删除后重新启动 ComfyUI

方案三:指定独立数据库(支持多开 ComfyUI)

如果你有 同时运行多个 ComfyUI 实例 的需求,无法关闭进程,可以通过修改启动脚本指定新数据库,避免冲突:

  1. 右键编辑 run_nvidia_gpu.bat 启动脚本
  2. 找到末尾的 python main.py 启动命令
  3. 修改为以下代码,新建独立数据库: python main.py --database-url sqlite:///user/comfyui2.db
  4. 保存文件,重新双击启动即可,多实例互不冲突

方案四:解决权限/杀毒软件锁定问题

少数情况是系统权限或杀毒软件占用文件导致锁定:

  1. 右键 ComfyUI 下的 user 文件夹 → 属性 → 取消「只读」属性,点击应用确定
  2. 暂时关闭 Windows Defender 实时扫描、第三方杀毒软件
  3. 将整个 ComfyUI 文件夹添加到杀毒软件白名单,避免被拦截锁定
  4. 重启电脑后重新启动程序

四、避坑总结

  • 报错≠软件损坏,只是数据库被进程锁定,无需重装 ComfyUI
  • 不要反复点击启动脚本,会堆积更多残留进程,加重报错
  • 日常关闭尽量正常关闭命令行窗口,减少闪退、强制终止操作
  • 需要多开必须指定独立数据库,无法共用同一个 comfyui.db

五、写在最后

这个报错是 ComfyUI Windows 便携版的高频常见问题,大部分人被卡住都是因为不懂「后台进程残留锁文件」的机制。按照本文顺序排查,基本可以100%解决数据库初始化失败问题,后续遇到同类报错直接套用即可。

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码