我发现新的sqlite3数据库文件在我知道的任何使用之前都被锁定。
sqlite3 new.sqlite
sqlite> SELECT * FROM SQLITE_MASTER;
Error: database is locked
新文件上的 lsof
为空。将数据库文件复制到新位置没有帮助。文件的权限没问题。
我怎样才能确定为什么可以锁定新的sqlite3文件?
答案 0 :(得分:1)
查看文档,我最好的猜测是,这是因为数据库文件位于Vagrant的NFS挂载上。根据文件:
应该注意POSIX咨询锁定已知是错误的 甚至未实现许多NFS实现......你最好的防御 是不要将SQLite用于网络文件系统上的文件。
https://www.sqlite.org/lockingv3.html
我能够通过在主机上的已安装文件夹上设置文件权限来解决此问题。