很长一段时间以来,我一直在尝试解决这个问题,并查看了所有正常的解决方案。我正在尝试在 sqlite 数据库上运行 .backup。我认为这并不重要,但这个特定的数据库正在被 Membase 使用,并且也在亚马逊云上运行。我要备份到的文件夹和数据库来自的文件夹都具有 777 权限(这是此消息的正常原因)。如果我 sudo 备份命令,它会在备份过程中进行,然后进程会在消耗 CPU 使用率的同时挂起,并导致我最终杀死 sqlite 进程。我什至检查并 chmod 777 数据库文件本身。
这是发生了什么:
/opt/membase/bin/sqlite3 /mnt/data-store/default-data/default-0.mb '.backup /mnt/data-backup/mbfiles/test.mb'
Error: unable to open database file
当我 ls -la 文件夹:
drwxrwxrwx 2 membase membase 4096 Sep 10 15:41 .
drwxrwxrwx 4 membase root 4096 Aug 5 01:10 ..
-rw-r--r-- 1 membase membase 53248 Sep 10 15:41 default
-rwxrwxrwx 1 membase membase 849593344 Sep 10 15:41 default-0.mb
和备份文件夹:
drwxrwxrwx 2 ec2-user ec2-user 4096 Sep 10 15:41 .
drwxrwxrwx 4 root root 4096 Sep 3 00:26 ..
另外,因为我听说这很重要,所以 /tmp 的许可
drwxrwxrwt 3 root root 4096 Sep 10 03:32 .
我已经尝试解决这个问题一个多星期了,任何新的想法都将不胜感激。应该注意的是,这是一个生产环境,所以重启不是一个选项。
编辑:我检查过,我可以备份较小的“默认”文件,而不是较大的数据库,所以这排除了文件夹权限的任何问题。任何帮助将不胜感激。
谢谢!