2016-07-30 108 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

我能夠通過在主機上安裝的文件夾設置文件權限來解決此問題。