MongoDB 4.0安装远程连接不上的问题

mkdir -p /data/db

日志文件路径
sudo mkdir -p /var/log/mongodb

使用后台运行方式:
sudo mongod --dbpath /data/db --logpath /var/log/mongodb/mongod.log --fork

切到mongodb的安装目录的bin目录执行:
./mongo 127.0.0.1 没有问题,可以执行mongo的shell目录,

但是当我使用具体IP,比如: ./mongo/192.168.1.123 就提示错误
connection attempt failed: SocketException: Error connecting to 192.168.1.123:27017 :: caused by :: Connection refuse

折腾了很久,一直找不到原因,后来才发现是因为conf配置文件绑定IP的设置问题, 注意新版的mongodb配置文件是在bin目录下的,于是我创建了mongodb.conf

主要配置有如下:
dbpath=/data/db
logpath=/var/log/mongodb/mongodb.log
logappend=true

bind_ip = 0.0.0.0
port = 27017
fork = true

以为这次可以了,结果还是不行,一样的错误…
我的启动命令是按官网来的: mongod --dbpath /data/db --logpath /var/log/mongodb/mongod.log --fork
还是远程连接不上,设置不起效果?为什么 ?

突然想起来,启动命令没有指定去读这个mongodb.conf配置,它当然不会起作用。
于是改为:
mongod --config mongodb.conf --dbpath /data/db --logpath /var/log/mongodb/mongod.log --fork

一切都正常了。

参考官网文档,安装步骤:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu-tarball/

补充
mongodb默认是不需要认证的,生产上肯定需要认证才能访问数据库,为此需要给添加的数据库添加用户,并赋予权限。

切换到bin目录,键入mongo

use admin
db.createUser({user:“admin”,pwd:“admin”,roles:[“root”]})
如果需要创建自定义的数据库,使用如下:
use mydatabase
db.createUser({user: “kta”, pwd: “kta”, roles: [ { role: “dbOwner”, db: “mydatabase” } ], mechanisms : [“SCRAM-SHA-1”]})
到此我们新建了两个用户,一个数据库

接下来需要改mongod.cfg,可以在bin目录下新增一个,新增以下配置:
security:
authorization: enabled

附上整个内容:

# 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


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

security:
    authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

重新启动mongo服务
mongod --config mongodb.conf –auth --dbpath /data/db --logpath /var/log/mongodb/mongod.log --fork

这样就完成登陆需要认证配置了。

猜你喜欢

转载自blog.csdn.net/huangdi1309/article/details/84556864