irpas技术客

在Linux服务器上搭建MongoDB数据库_Catalike、_linux mongodb创建数据库

网络投稿 3654

在Linux服务器上部署MongoDB数据库 1.部署前的准备2.安装部署MongoDB数据库3.开启用户验证

1.部署前的准备

本篇文档编写的时间是2021年11月11日,使用的mongodb版本是5.0.3,今天上官网上看了一下15号已经更新到5.0.4版本,但变化不大

查看Linux服务器系统版本 这里用的是CentOS 7.6版本的操作系统。 在MongoDB官网下载社区版,并根据系统选择对应版本的tgz包。由于服务器系统是CentOS7.6版本,所以选择了CentOS7.0的这个包。当然你可以在服务器中使用yum来安装,yum安装好像能省去创建配置conf文件的步骤。

2.安装部署MongoDB数据库

把安装包上传到服务器上,路径最好和后端、前端程序在一起。 通过cd命令到路径,用命令

tar -zvxf mongodb-linux-x86_64-rhel70-5.0.3.tgz -C /usr/local

将mongodb压缩包解压到指定路径上。 安装好后可以用mv命令将文件夹名字修改成建议的名字,如:mongodb,方便后面安装

mv mongodb-linux-x86_64-rhel70-5.0.3 mongodb

修改环境变量

vim /etc/profile

在文件的最后面添加一句

export PATH=/usr/local/mongodb/bin:$PATH

然后执行命令让添加的环境变量生效

source /etc/profile

cd到刚刚解压出来的mongodb文件夹,mkdir命令创建数据存放的目录和日志目录,chmod命令将权限改为777

mkdir db mkdir log chmod 777 db chmod 777 log

在log目录下创建文件存储log

touch mongodb.log

还是用mkdir命令,在mongodb的目录下创建文件夹etc,然后在etc文件夹中用touch命令创建配置文件

mkdir etc touch mongod.conf

最好也给etc文件夹777权限。 然后mongodb文件夹内的结构是这样

为配置文件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: /usr/local/mongodb/data journal: enabled: true # engine: # wiredTiger: # where to write logging data. systemLog: destination: file logAppend: true path: /usr/local/mongodb/log/mongodb.log # network interfaces net: port: 27017 bindIp: 0.0.0.0 #processManagement: #security: #operationProfiling: #replication: #sharding: ## Enterprise-Only Options: #auditLog: #snmp:

其中需要注意的几个参数,首先是dbPath,需要填入之前创建存放数据的文件夹路径,systemLog下的path填入之前创建的数据库日志文件的路径。net下的port填入端口号,而bindIp默认是127.0.0.1,如果想要外部能够访问的话需要改成0.0.0.0。 进到cd到数据库目录下的bin文件,用命令

./mongod -f ./mongod.cfg --fork

来启动mongodb的服务 在服务器防火墙关闭的状态下,访问 ip+端口号的地址,看到下图则开启成功(注意如果连不上,用命令lsof -i先看看你的端口是否开启了,然后检查mongodb.conf文件中的biandip是否修改成0.0.0.0了) 然后在bin目录下用./mongod即可开启mongodb shell来用命令操控数据库

3.开启用户验证

为了数据库的安全性,可能还需要开启用户验证。在mongodb shell启动下,命令use admin切换至admin账户,然后用db.createuser命令创建一个角色,角色等级为超级管理员root,注意密码尽量不要用特殊符号,如果使用特殊符号,后面后端连接数据库时需要将特殊符号进行转义,比如@要转义为%40。

use admin db.createuser({user:"",pwd:"",roles:[{role:"root",db:"admin"}]})

可以用show users来查看创建的用户

show users

创建好后先用命令db.shutdownServer()将数据库服务关闭,然后用ctrl+c退出mongodb shell。

db.shutdownServer()

如果不确定是否将数据库服务关闭了,可以使用命令lsof -i,检查数据库端口是否存在。 然后用vim打开之前在etc目录下创建的mongodb.config,在#security下添加

security: authorization: enabled

保存后,再次使用命令./mongod -f ./mongod.cfg --fork启动数据库服务。 如果报错了,检查mongodb.config文件是否修改正确,要保证标点符号,缩减、空行标准。 启动后还可以用命令

ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo

将mongo路径软链到/usr/bin路径下,方便随处执行命令。 接下来在任意路径下,输入mongo,即可开启mongodb shell了 然后输入

use admin db.auth('账号','密码')

发现返回了1,证明对数据库添加验证成功了。 我们使用MongoDB官方提供的compass工具 下载好后输入

mongodb://ip+端口号/?readPreference=primary&appname=MongoDB%20Compass&directConnection=true&ssl=false

会发现提示你进行验证

需要在ip前添加 用户名:密码 并用@符号隔开

mongodb://用户名:密码@ip+端口号/?readPreference=primary&appname=MongoDB%20Compass&directConnection=true&ssl=false

点击连接,就可以连上我们的数据库了,可以直接使用compass工具,在本地对我们的数据库进行操作。


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

标签: #Linux #mongodb创建数据库 #76版本的操作系统 #当然你可以在服