我已将mongodb数据库路径移动到不同的安装位置,因为我的根目录已满。我将它移动到一个更大的分区,该分区安装在我的主目录下(它也是一个与root分开的分区)。
首先我停止了mongod,然后我跑了
cp -ra /var/lib/mongodb $HOME/archive/mongodb
复制旧的dbpath,同时保留权限和时间戳以及其他所有内容。
我检查了2个目录,一切都是一样的,组是守护进程,用户是mongodb。
然而,出于某种原因,每次尝试启动mongo时,我都会在mongodb.log中收到以下权限错误:
sudo systemctl start mongodb
Fri Nov 8 14:15:36.412 [initandlisten] options: { bind_ip: "10.10.11.101", config: "/etc/mongodb.conf", dbpath: "/home/dave/archive/mongodb", logappend: "true", logpath: "/var/log/mongodb/mongod.log", quiet: true, rest: "true" }
Fri Nov 8 14:15:36.412 [initandlisten] exception in initAndListen std::exception: boost::filesystem::status: Permission denied: "/home/dave/archive/mongodb", terminating
这是权限的输出:
ls -alt $HOME/archive/mongodb
drwxr-xr-x 4 mongodb daemon 4096 Nov 8 13:26 .
drwxrwxr-x 14 dave users 4096 Nov 8 12:57 ..
drwxr-xr-x 2 mongodb daemon 4096 Nov 8 12:29 journal
我已经多次运行chown -R
,只是为了确定。
我甚至将mongodb用户添加到用户组中,因为归档目录组是用户,因此挂起了用户。仍然没有工作。
这可能是某种fstab问题吗?
UUID=88356ad7-9b85-402e-a0ab-86547fae9bcd /home ext4 defaults,user_xattr 0 1
UUID=db4a13df-62df-46eb-8c0d-809d5f2c312f /home/dave/archive ext4 defaults,user_xattr 0 1
感谢任何想法。
编辑: 我最终使用另一个驱动器并将其安装到/ mnt / data中新定义的目录,现在一切正常,但我仍然非常有兴趣知道为什么上面的内容不起作用,因为我以同样的方式设置,使用{{ 1}}。
答案 0 :(得分:0)
与Centos 7的安全上下文相关
chown -R mongod:mongod / home / dave / archive / mongodb
chcon -Rv --type = mongod_var_lib_t / home / dave / archive / mongodb