下列的这指导安装 mongodb 但 mongo 只有没有启动。
运行时sudo systemctl status mongodb
仅显示Active: failed (Result: exit-code)
。
编辑:
输出ls -al /etc/systemd/system/mongodb.service
-rw-r--r-- 1 root root 220 Feb 17 23:59 /etc/systemd/system/mongodb.service
输出cat /etc/systemd/system/mongodb.service
[Unit]
Description=High-performance, schema-free document-oriented >database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
输出mongod
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] MongoDB starting : pid=6617 port=27017 dbpath=/data/db 64-bit host=sherrie-HP-Pavilion-x360-m3-Convertible
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] db version v3.2.12
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] git version: ef3e1bc78e997f0d9f22f45aeb1d8e3b6ac14a14
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] allocator: tcmalloc
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] modules: none
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] build environment:
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] distmod: ubuntu1604
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] distarch: x86_64
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] target_arch: x86_64
2017-02-18T10:19:55.072+0200 I CONTROL [initandlisten] options: {}
2017-02-18T10:19:55.137+0200 I - [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-02-18T10:19:55.155+0200 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
2017-02-18T10:19:55.155+0200 I CONTROL [initandlisten] dbexit: rc: 100
答案1
只需简单重新安装即可。编辑:MongoDB 安装链接。另一个 MongoDB 安装链接。
编辑:以下是 Ubuntu 22.04 的安装命令的副本,未经测试。
sudo apt-get install gnupg curl
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
编辑:下面的安装说明命令行块可能看起来过时了。
sudo apt purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
sudo apt update
sudo apt-get install -y mongodb-org
并仔细检查配置文件:
sudo nano /etc/systemd/system/mongodb.service
粘贴此:
[Unit]
Description=High-performance, schema-free document-oriented >database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
最后
sudo systemctl start mongodb
sudo systemctl enable mongodb
我还认为我将一个文件(日志文件?)的权限更改为 777。
编辑:
shell 命令sudo mongod --config /etc/mongod.conf
应运行没有服务文件的 MongoD。但是,如果关闭 shell(例如通过关闭 shell 窗口),MongoD 应退出。Shell 或 shell 窗口应保持运行。
要在后台运行 MongoD,-b
在命令中传递 sudo 应该可以。出现sudo
选项。
sudo -b mongod --config /etc/mongod.conf
...然后,要退出命令,使用该killall
命令可能会有效。
答案2
这对我有用。
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
我正在使用 Linux Mint 20。
答案3
chown -R mongodb:mongodb /var/lib/mongodb
chown mongodb:mongodb /tmp/mongodb-27017.sock
sudo systemctl restart mongod
sudo systemctl status mongod
这些权限命令在 ubuntu 20.04 上对我有用
答案4
我运行这个命令
mongod --auth --fork
因为我之前在管理数据库中创建了管理员用户,然后遇到了这个问题。