H2数据库文件锁定错误求助:连接网页时遇MVStoreException
解决H2数据库文件锁定问题(MVStoreException: The file is locked)
这个错误的核心原因是H2数据库文件被其他进程占用,或是连接配置引发了锁定冲突,试试下面几个实用方案:
关闭所有占用H2的进程
先排查是否有运行中的H2控制台、你的Web应用实例,或是其他访问该数据库的工具。Windows用任务管理器杀掉相关Java进程;Linux/macOS可以用ps aux | grep h2找到进程ID,再执行kill -9 <PID>终止进程。调整H2连接URL的锁定参数
在数据库连接URL末尾添加锁定相关参数,两种常用配置:- 关闭文件锁定(适合开发环境):追加
;LOCK_MODE=0,示例:jdbc:h2:~/my-db;LOCK_MODE=0 - 启用自动服务器模式(支持多进程共享数据库):追加
;AUTO_SERVER=TRUE,示例:jdbc:h2:~/my-db;AUTO_SERVER=TRUE
- 关闭文件锁定(适合开发环境):追加
手动删除锁定文件
找到H2数据库文件所在目录,通常会存在.lck后缀的锁定文件(比如my-db.mv.db.lck),直接删除这类文件后重启Web应用即可。检查文件路径与权限
确认连接URL中的数据库文件路径无误,避免相对路径导致的文件定位错误;同时确保运行Web应用的用户对该目录拥有读写权限,Linux/macOS可通过chmod 755 <目录路径>或chown <用户> <目录路径>调整权限。
内容的提问来源于stack exchange,提问作者sugandh gowda
相关产品推荐
相关产品推荐

