很多小伙伴在启动 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%有效)
大部分情况都是进程残留导致锁不释放,按步骤操作即可:
- 关闭所有 ComfyUI 黑色命令行窗口、程序窗口
- 按下 Ctrl+Shift+Esc 打开任务管理器
- 在进程列表中,右键结束以下所有进程:
- python.exe / pythonw.exe
- comfyui-main-windows.exe
- 对应 run_nvidia_gpu.bat 启动的残留进程
- 等待10-20秒(给 SQLite 数据库锁释放时间)
- 重新双击 run_nvidia_gpu.bat 启动 ComfyUI 即可
方案二:手动删除数据库临时锁文件(进程找不到时使用)
如果任务管理器找不到残留进程,但依旧报错,就是遗留了临时锁文件:
- 打开报错对应的数据库目录: C:\Work\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\ComfyUI\user\
- 找到并删除 两个临时锁文件:
- comfyui.db-shm
- comfyui.db-wal
- ⚠️ 绝对不要删除 comfyui.db 本体文件,会丢失所有自定义设置、节点配置
- 删除后重新启动 ComfyUI
方案三:指定独立数据库(支持多开 ComfyUI)
如果你有 同时运行多个 ComfyUI 实例 的需求,无法关闭进程,可以通过修改启动脚本指定新数据库,避免冲突:
- 右键编辑 run_nvidia_gpu.bat 启动脚本
- 找到末尾的 python main.py 启动命令
- 修改为以下代码,新建独立数据库:
python main.py --database-url sqlite:///user/comfyui2.db - 保存文件,重新双击启动即可,多实例互不冲突
方案四:解决权限/杀毒软件锁定问题
少数情况是系统权限或杀毒软件占用文件导致锁定:
- 右键 ComfyUI 下的 user 文件夹 → 属性 → 取消「只读」属性,点击应用确定
- 暂时关闭 Windows Defender 实时扫描、第三方杀毒软件
- 将整个 ComfyUI 文件夹添加到杀毒软件白名单,避免被拦截锁定
- 重启电脑后重新启动程序
四、避坑总结
- 报错≠软件损坏,只是数据库被进程锁定,无需重装 ComfyUI
- 不要反复点击启动脚本,会堆积更多残留进程,加重报错
- 日常关闭尽量正常关闭命令行窗口,减少闪退、强制终止操作
- 需要多开必须指定独立数据库,无法共用同一个 comfyui.db
五、写在最后
这个报错是 ComfyUI Windows 便携版的高频常见问题,大部分人被卡住都是因为不懂「后台进程残留锁文件」的机制。按照本文顺序排查,基本可以100%解决数据库初始化失败问题,后续遇到同类报错直接套用即可。