MongoDB安装并实现远程授权连接(Linux)
MongoDB安装并实现远程授权连接(Linux)1. 到官网下载压缩包mongodb-linux-x86_64-4.0.27.tgz官网地址:https://www.mongodb.com/try/download/community 按照图示,选择社区版4.0.x,Linux(legacy),tgz即可2. 上传压缩包到Linux中,解压解压命令:tar -zxvf mongodb-linux
MongoDB安装并实现远程授权连接(Linux)
1. 到官网下载压缩包mongodb-linux-x86_64-4.0.27.tgz
官网地址:https://www.mongodb.com/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://www.mongodb.com/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. 测试授权登录
用刚刚的方式,连接失败
用新的配置
连接成功
更多推荐
所有评论(0)