2

我遇到了一个锁定问题,在 NFS 文件系统上创建 SQLITE3 数据库时,它会被永久锁定。我已经读到,nobrl当所讨论的文件系统是 CIFS 时,一个名为的选项可以帮助解决这个问题。(它是 mount 命令的一个选项)。

来自: http: //linux.die.net/man/8/mount.cifs

诺布尔

不要向服务器发送字节范围锁定请求。这对于某些违反 cifs 样式强制字节范围锁的应用程序是必要的(并且大多数 cifs 服务器还不支持请求咨询字节范围锁)。

有没有办法阻止 NFS 中的字节范围锁定请求(如果它们发生),或者我是否考虑到这一点而在错误的方向上运行?我很高兴像为 CIFS 解决方案所做的那样更改 mount 命令。

4

1 回答 1

0

我建议通过启用 nolock 参数的软件打开你的 sqlite db,golang exg。:

sql.Open("sqlite3", "file:/media/R/Databases//your.db?nolock=1")

而 /media/R 是已安装的 Windows nfs-network-drive。要小心,因为您必须通过软件锁定您的数据库交互,否则您可能会在同时访问它时损坏您的数据库。

您可以在此处阅读有关 sqlite 参数的更多信息: https ://www.sqlite.org/c3ref/open.html

于 2020-11-11T08:53:23.630 回答