我在我的名为automationTaskV3的ubuntu服务器(16.04)上安装了mongodb(3.2.18)。当我在我的服务器上工作时,它工作,但当我尝试从我的计算机连接时,它只有在mongodb作为服务启动时才会失败。
例如,如果我以这种方式启动mongod:
sudo mongod
它可以工作,我可以访问我的数据库 但如果我这样做:
sudo service mongod start
我无法从计算机连接。 否则mongod服务状态似乎没问题:
sudo service mongod status
● mongod.service - High-performance, schema-free document-oriented database
Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2017-11-30 17:34:46 UTC; 8min ago
Docs: https://docs.mongodb.org/manual
Main PID: 17712 (mongod)
CGroup: /system.slice/mongod.service
└─17712 /usr/bin/mongod --quiet --auth --config /etc/mongod.conf
November 30 17:34:46 automationTaskV3 systemd [1]:启动高性能,无架构的面向文档的数据库。 11月30日17:38:09 automationTaskV3 systemd [1]:启动高性能,无架构的面向文档的数据库。 11月30日17:39:29 automationTaskV3 systemd [1]:启动高性能,无架构的面向文档的数据库。
目前我正在尝试访问没有凭据。 这是我的mongod.service文件:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
# file size
LimitFSIZE=infinity
# cpu time
LimitCPU=infinity
# virtual memory size
LimitAS=infinity
# open files
LimitNOFILE=64000
# processes/threads
LimitNPROC=64000
# total threads (user+kernel)
TasksMax=infinity
TasksAccounting=false
# Recommended limits for for mongod as specified in
# http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings
[Install]
WantedBy=multi-user.target
这里是我的mongod.conf文件
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
这可能是用户正确的问题吗?当我按照教程中的步骤进行操作时,这似乎很奇怪: https://www.linode.com/docs/databases/mongodb/install-mongodb-on-ubuntu-16-04 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
答案 0 :(得分:1)
正如我在评论中所说,其IP绑定问题。所以你甚至可以尝试这个解决方案。
您可以使用ssh隧道访问远程计算机的27017端口,因为这是最简单的方法,也是一种安全的方式。
ssh -L 27017:localhost:27017 username@remoteaddress.com
此命令说明本地计算机的27017端口转发到远程计算机的localhost:27017
。
如果您没有设置ssh密钥,系统将提示您输入密码(远程计算机)。现在您可能会收到远程计算机的ssh提示,除非您要关闭端口转发,打开终端的新选项卡或Robomongo,现在可以连接到localhost:27017
。因此,就像MongoDB安装在本地计算机上一样,实际上,它是使用ssh从远程计算机上提供的。
要了解有关ssh隧道的更多信息,请阅读:https://www.ssh.com/ssh/tunneling