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