2016-07-30 107 views
0

我发现新的sqlite3数据库文件在任何我知道的使用之前被锁定。新的sqlite3数据库被锁定

sqlite3 new.sqlite 
sqlite> SELECT * FROM SQLITE_MASTER; 
Error: database is locked 

lsof上的新文件是空的。将数据库文件复制到新位置不会有帮助。该文件的权限是确定的。

我怎么能确定为什么新的sqlite3文件可能被锁定?

回答

1

看看文档,我最好的猜测是,这是因为数据库文件位于NFS安装的Vagrant。根据文档:

应该注意的是POSIX咨询锁定被称为是马车或 甚至未实现许多NFS实现......你最好的防御 是在网络文件系统不使用SQLite的文件。

https://www.sqlite.org/lockingv3.html

我能够通过在主机上安装的文件夹设置文件权限来解决此问题。