irpas技术客

MongoDB安装并实现远程授权连接(Linux)_Chasing stars_linux mongo远程登录

irpas 6241

MongoDB安装并实现远程授权连接(Linux) 1. 到官网下载压缩包mongodb-linux-x86_64-4.0.27.tgz

官网地址:https://·/try/download/community 按照图示,选择社区版4.0.x,Linux(legacy),tgz即可

2. 上传压缩包到Linux中,解压

解压命令:

tar -zxvf mongodb-linux-x86_64-4.0.27.tgz 3. 新建几个目录,分别用来存储数据和日志 #数据存储目录 mkdir -p /mongodb/single/data/db #日志存储目录 mkdir -p /mongodb/single/log 4. 新建并修改配置文件

vi 新建一个文件

vi /mongodb/single/mongod.conf

加入如下内容:

systemLog: #MongoDB发送所有日志输出的目标指定为文件 # #The path of the log file to which mongod or mongos should send all diagnostic logging information destination: file #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径 path: "/mongodb/single/log/mongod.log" #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。 logAppend: true storage: #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 ##The directory where the mongod instance stores its data.Default Value is "/data/db". dbPath: "/mongodb/single/data/db" journal: #启用或禁用持久性日志以确保数据文件保持有效和可恢复。 enabled: true processManagement: #启用在后台运行mongos或mongod进程的守护进程模式。 fork: true net: #服务实例绑定的IP,默认是localhost #设置为0.0.0.0 主要是为了远程连接 bindIp: 0.0.0.0 #绑定的端口,默认是27017 port: 27017 5. 启动MongoDB服务

MongoDB安装路径/bin/mongod –f 配置路径,即

/usr/local/mongodb/mongodb-linux-x86_64-4.0.27/bin/mongod -f /mongodb/single/mongod.conf

结果:

[root@localhost bin]# /usr/local/mongodb/mongodb-linux-x86_64-4.0.27/bin/mongod -f /mongodb/single/mongod.conf about to fork child process, waiting until server is ready for connections. forked process: 84675 child process started successfully, parent exiting

如果启动后不是successfully ,则是启动失败了。原因基本上就是配置文件有问题。

通过进程来查看服务是否启动了:

[root@localhost bin]# ps -ef |grep mongod root 84675 1 0 13:45 ? 00:00:08 /usr/local/mongodb/mongodb-linux-x86_64-4.0.27/bin/mongo -f /mongodb/single/mongod.conf 6. MongoDB数据库测试

在安装路径下的bin目录,进行数据库测试

[root@localhost bin]# ./mongo MongoDB shell version v4.0.27 connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb Implicit session: session { "id" : UUID("56765b3a-1ae1-4e01-a32c-1885639a155a") } MongoDB server version: 4.0.27 >

测试成功

7. 开放端口 firewall-cmd --zone=public --add-port=27017/tcp –permanent systemctl restart firewalld.service firewall-cmd –reload 8. 测试远程连接

在https://·/try/download/compass 下载window的连接软件 下载成功,安装,后打开,输入相关信息 连接成功

9. 授权登录

上面所说的远程连接是没有设置密码的,这样是很不安全的,所以在公网环境中要设置授权登录,授权操作如下:

进入MongoDB,创建用户,没有创建用户设置授权是没有任何意义的,这里我们创建超级用户,代码如下: db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]}) 在 /mongodb/single/mongod.conf 配置下,加入以下配置 security: authorization: enabled 完整的代码如下: systemLog: #MongoDB发送所有日志输出的目标指定为文件 ##The path of the log file to which mongod or mongos should send all diagnostic logging information destination: file #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径 path: "/mongodb/single/log/mongod.log" #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。 logAppend: true storage: #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。 ##The directory where the mongod instance stores its data.Default Value is "/data/db". dbPath: "/mongodb/single/data/db" journal: #启用或禁用持久性日志以确保数据文件保持有效和可恢复。 enabled: true processManagement: #启用在后台运行mongos或mongod进程的守护进程模式。 fork: true net: #服务实例绑定的IP,默认是localhost bindIp: 0.0.0.0 #绑定的端口,默认是27017 port: 27017 security: authorization: enabled 重启MongoDB

ps -ef | grep mongod 查看MongoDB的pid

[root@localhost bin]# ps -ef | grep mongod root 87705 1 0 16:55 ? 00:00:03 /usr/local/mongodb/mongodb-linux-x86_64-4.0.27/bin/mongo -f /mongodb/single/mongod.conf root 87919 12114 0 17:09 pts/1 00:00:00 grep --color=auto mongod

kill – 9 87705 关闭MongoDB

/usr/local/mongodb/mongodb-linux-x86_64-4.0.27/bin/mongod -f /mongodb/single/mongod.conf 重启MongoDB

[root@localhost bin]# /usr/local/mongodb/mongodb-linux-x86_64-4.0.27/bin/mongod -f /mongodb/single/mongod.conf about to fork child process, waiting until server is ready for connections. forked process: 87950 child process started successfully, parent exiting 10. 测试授权登录

用刚刚的方式,连接失败 用新的配置

连接成功


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Linux #mongo远程登录 #zxvf