平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“基于Linux平台部署MongoDB的详细步骤”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
在这个场景下,下面开始进行对NoSQL数据库的学习,说到NoSQL,MongoDB就是其中一个有着重要地位的NoSQL数据库,下面我将针对MongoDB的部署作出具体操作步骤,学起来~
落到代码里,MongoDB是一个开源、跨平台的数据库,它能够运行在Windows和Linux等多个平台上,为我们提供数据库服务。在不同的操作系统平台上,部署MongoDB也会有所不同。我将细致说明MongoDB数据库基于Linux平台的部署。
在这个场景下,由于root用户拥有的权限很大,出于系统安全的考虑,需新建一个普通用户操作MongoDB数据库,所以我们需新建一个用户user_mongo。下面,我们详细说明如何新建用户user_mongo。
从实现思路看,打开Linux虚拟机同时借助远程工具(我这里用到是Xshell,其他都可)连接Linux平台,执行useradd user_mongo命令,新建用户user_mongo;再执行passwd user_mongo命令,初始化新用户user_mongo的密码,具体如下所示:
useradd user_mongo
passwd user_mongo

落到代码里,从上述得到结果successfully能够看出,所有的身份验证令牌已经成功更新,即用户user_mongo的密码初始化成功,吐槽一下,这里设置的密码还得不少于8个字符,麻烦麻烦
落到代码里,首先执行ls -l /etc/sudoers命令,查看文件sudoers的操作权限,具体如下所示:
ls -l /etc/sudoers

落到代码里,从上述得到结果能够看出,文件sudoers的操作权限为只读,不可进行编辑操作。因此需执行chmod -v u+w /etc/sudoers命令,将文件sudoers的权限修改为可编辑,随后执行查看ls -l /etc/sudoers命令,查看文件sudoers的权限是否变为可编辑,具体如下所示:
chmod -v u+w /etc/sudoers
ls -l /etc/sudoers

落到代码里,从上述得到结果能够看出,文件sudoers的操作权限为读写权限,说明我们已经成功将文件sudoers的操作权限修改为可编辑。需留意,为了系统安全编辑完文件sudoers后,必须执行chmod -v u-w /etc/sudoers命令,将该文件的权限改为默认的只读权限。
理解这一步时,执行vi /etc/sudoers命令,进入sudoers文件中,添加user_mongo ALL=(ALL) ALL内容,按ESC键,再执行:wq!命令,保存同时退出sudoers文件。sudoers文件添加的内容,具体如下所示图所示。
vi /etc/sudoers
:wq
chmod -v u-w /etc/sudoers

在这个场景下,接着就执行su user_mongo命令,从root用户切换到user_mongo用户

借助访问MongoDB官网
进入MongoDB下载页面
接着就下载适配安装包,本电脑虚拟机为Centos7 64位系统

实际处理时,下载好数据库安装包后,借助远程连接工具(我用到是和Xshell适配的Xftp/rz命令,Finalshell可直接点击按钮上传)上传安装包到Linux平台的/opt/software(自己选哪都ok)【需提前进入/opt/software】

结合项目来看,首先将MongoDB安装包的用户和用户组权限修改为user_mongo;随后将/opt/servers/目录下mongodb_demo目录的用户和用户组权限修改为user_mongo;最后解压MongoDB安装包至/opt/module/mongodb_demo【自定】目录,具体命令如下所示:
sudo chown user_mongo:user_mongo mongodb-linux-x86_64-rhel70-6.0.20.tgz
sudo mkdir /opt/module/mongodb_demo
sudo chown -R user_mongo:user_mongo /opt/module/mongodb_demo
tar -zxvf mongodb-linux-x86_64-rhel70-6.0.20.tgz -C /opt/module/mongodb_demo/

落到代码里,解压完MongoDB安装包后,进入到/opt/module/mongodb_demo目录,
在这个场景下,若觉得解压后的文件名过长,能够对文件进行重命名mongodb,具体命令如下所示:
cd /opt/module/mongodb_demo/
mv mongodb-linux-x86_64-rhel70-6.0.20/ mongodb

实际处理时,(1)通常情况下,MongoDB的数据文件存储在data目录的db目录下,日志文件存储在logs目录下,但是这两个目录在解压缩方式安装时不会自动新建。因此需在mongodb目录下手动新建data目录和logs目录,同时在data目录中新建db目录,在logs目录下新建一个mongologs.log日志文件,具体命令如下所示:
cd mongodb/
mkdir -p standalone/data/db/
mkdir standalone/logs/
touch standalone/logs/mongologs.log

在这个场景下,(2)由于MongoDB的相关服务均存放在解压后/mongodb/bin目录下,若是想要启动MongoDB服务,必须在bin目录下启动,因此为了避免启动MongoDB服务之前进入到bin目录下,我们需设置用户环境变量,即执行vi ~/.bash_profile命令打开同时编辑.bash_profile文件,再执行:wq命令保存并关闭文件,然后执行source ~/.bash_profile使得文件生效
vi ~/.bash_profile
export PATH=/opt/module/mongodb_demo/mongodb/bin:$PATH
:wq
source ~/.bash_profile
落到代码里,启动MongoDB服务共有两种不同的方式,即采用命令行参数的方式和采用设置文件的方式,这两种启动方式的介绍如下所示:
(1)采用命令行参数的方式启动MongoDB服务
/opt/module/mongodb_demo/mongodb/bin/mongod --dbpath=/opt/module/mongodb_demo/mongodb/standalone/data/db/ --logpath=/opt/module/mongodb_demo/mongodb/standalone/logs/mongologs.log --logappend --fork
落到代码里,上述命令中,mongod是MongDB服务;-dbpath参数是指定数据文件存放的位置;
从实现思路看,-logpath参数是指定日志文件的存放位置;-logappend参数指定采用追加的方式写日志;
-fork参数指定以守护进程的方式(即后台)运行MongoDB服务。

这样就启动成功啦!
结合项目来看,若是想要关闭MongoDB服务,则先执行ps -ef | grep mongod命令,查看MongoDB的服务进程;
ps -ef | grep mongod
理解这一步时,随后执行kill -2 xxxx命令,结束MongoDB的服务进程(MongoDB的服务进程每次都不同,因此若是想要结束该进程,则必须在命令中提供对应的MongoDB进程号);再执行ps -ef | grep mongod命令,查看MongoDB服务的进程是否存在,若第二次执行ps-ef grep mongod命令后,发现MongoDB的服务进程已经不存在了,因此说明我们成功关闭了MongoDB服务。


(2)采用设置文件的方式启动MongoDB服务
结合项目来看,在采用设置文件的方式启动MongoDB服务之前,需在mongodb目录下新建一个conf目录,用来存放MongoDB数据库的设置文件,同时在该目录下新建文件mongod.conf,用来指定MongoDB服务启动所需的一些参数。
在这个场景下,新建conf目录,同时在该目录下新建mongod.conf文件,具体命令如下所示:
mkdir conf/
cd conf/
touch mongod.conf
落到代码里,接着在mongodb目录下执行vi conf /mongod.conf命令,打开同时编辑mongod.conf文件,具体添加的内容如下所示:
systemLog:
# MongoDB发送所有日志输出的目标指定为文件
# The Path of the log file to which mongos should send all diagnostic logging information
destination: file
# mongod发送所有诊断日志记录信息的日志文件的路径
path: "/opt/module/mongodb_demo/mongodb/standalone/logs/mongologs.log"
# 当mongod重启时,mongod会将新条目附加到现有日志文件的末尾
logAppend: true
storage:
# mongod数据文件存储的目录
dbPath: "/opt/module/mongodb_demo/mongodb/standalone/data/db/"
journal:
# 启用或禁用持久性日志,以确保数据文件保持有效和可恢复
enabled: true
processManagement:
# 启用在后台运行mongod进程的守护进程模式
fork: true
理解这一步时,上述内容添加后,执行mongod -f /opt/module/mongodb_demo/mongodb/conf/mongod.conf命令,启动MongoDB服务

成功咯~
注意路径正确哦
到此这篇关于基于Linux平台部署MongoDB的详细步骤的文章就介绍到这了,更多相关Linux部署MongoDB内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多兼容脚本之家!