我有一個作業的mongodb實體,可以使用mongod -f /etc/mongod.conf運行,但它顯示systemctl服務為失敗。
我試著用sudo service mongod start來啟動它,它失敗了,exitcode=1
我發現了權限錯誤,并通過sudo chown -R mongod:root改變了每個dbpath和keyfile路徑的權限,然后它開始在root下作業
我想知道為什么當dbpath和keyfile路徑的權限為mongod:mongod和
如果我想在沒有root權限的情況下運行systemctl mongod,如何分配目錄權限?
作業系統 - RHEL 8 , mongod 5.0版本
<mongod.conf檔案
systemLog。
destination: file
logAppend: true: 檔案
path: /var/log/mongodb/mongod.log。
storage。
dbPath: /data/mongodb/mongo
journal:
enabled: true: enabled.
processManagement:
fork: true: fork.
pidFilePath: /var/run/mongodb/mongod.pid。
timeZoneInfo。/usr/share/zoneinfo
net:
port: 27017
bindIp: mongo3.xxxxxxx.net。
security:
authorization: enabled
keyFile: /data/key/keyfile
replication:
replSetName: xxxxx
uj5u.com熱心網友回復:
在我的系統中,我用sudo systemctl start mongod
你可以在服務檔案中設定一切,可以像這樣:
你可以在服務檔案中設定一切。
$ systemctl status mongod
● mongod.service - MongoDB Database Server
Loaded: loaded (/etc/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: 活動(運行)自Mon 2021-09-06 16: 41:02 CEST; 1 weeks 1 days ago
$ cat /etc/systemd/system/mongod.service
[Unit] 。
Description=MongoDB DatabaseServer
檔案=https:/docs.mongodb.org/manual
After=network.target。
[服務]
User=mongod
群組=mongod
Environment="OPTIONS=-f /etc/mongod.conf"。
EnvironmentFile=-/etc/sysconfig/mongod
ExecStart=/usr/bin/mongod $OPTIONS
ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb
ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb
ExecStartPre=/usr/bin/chmod 755 /var/run/mongodb
ExecStartPre=/usr/bin/mkdir -p /data/mongodb
ExecStartPre=/usr/bin/chown mongod:mongod /data/mongodb
ExecStartPre=/usr/bin/chmod 0755/data/mongodb
PermissionsStartOnly=true
PIDFile=/var/run/mongodb/mongod.pid。
Type=forking
注意,當你安裝MongoDB時,它會在/usr/lib/systemd/system/mongod.service創建一個默認服務檔案。你不應該修改這個檔案,因為它可能在下次更新時被你的軟體包管理器覆寫。你可以把你的定制檔案放在/etc/systemd/system/mongod.service(見https://unix.stackexchange.com/questions/224992/where-do-i-put-my-systemd-unit-file)。- 不要忘記systemctl daemon-reload
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/307694.html
標籤:
上一篇:從串列中下載URL并指定檔案名
