我正在远程服务器上运行mongodb,我想在本地计算机上访问
我试图删除mongodb.lock文件,也尝试了sudo mongod --repair
,但是这些都不适合我。
这是在我做mongo 192.168.1.249:27017/testDB
或只是做mongo 192.168.1.249
我得到:
[js] Error: couldn't connect to server 192.168.1.249:27017, connection attempt failed: SocketException: Error connecting to 192.168.1.249:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed
mongo.cfg文件如下:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: C:\Program Files\MongoDB\Server\4.0\data
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: C:\Program Files\MongoDB\Server\4.0\log\mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
#security:
authorization: 'enabled'
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
答案 0 :(得分:0)
检查服务器接收到的IP地址和端口号是否相同。
答案 1 :(得分:0)
打开mongodb配置文件:
Ubuntu:
sudo nano /etc/mongod.conf
窗口:
MongoDB_installation_Directory/Server/{version}/bin/mongod.cfg
// MongoDB_installation_Directory could be C://MongoDB or C://Program Files/MongoDB
编辑:
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 #default value is 127.0.0.1
重新启动MongoDB服务器:
sudo service mongod restart
默认情况下,mongodb配置为仅允许来自本地主机的连接。我们需要允许远程连接。在配置文件中,转到“网络接口”部分,并将bindIp从127.0.0.1
更改为0.0.0.0
,这意味着允许来自所有IP地址的连接。
您还可以启用MongoDB身份验证:
打开mongo shell:
mongo
在mongo shell内访问管理数据库。创建一个新的管理员用户。
> use admin;
> db.createUser({
user: "admin",
pwd: "password",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" },
{ role: "dbAdminAnyDatabase", db: "admin" }
]
});
现在创建db用户,并授予他们在各自数据库中的角色。
> db.createUser({
user: "user",
pwd: "user_password",
roles: [
{ role: "userAdmin", db: "yourDB" },
{ role: "dbAdmin", db: "yourDB" },
{ role: "readWrite", db: "yourDB" }
]
});
在同一配置文件中,
security:
authorization: 'enabled'
重新启动MongoDB:
Ubuntu:
sudo service mongod restart
Windows:
"MongoDB_installation_Directory/Server/{version}/bin/mongod.exe" --dbpath path/to/db
// MongoDB_installation_Directory could be C://MongoDB or C://Program Files/MongoDB
要在远程使用auth访问mongo:
# to access the admin database
mongo -u admin -p password {public IP}/admin
# to access the other databases
mongo -u user -p user_password {public IP}/yourDB