前言
接下来开始进行对NoSQL数据库的学习,说到NoSQL,MongoDB就是其中一个有着重要地位的NoSQL数据库,接下来我将针对MongoDB的部署作出具体操作步骤,学起来~
MongoDB是一个开源、跨平台的数据库,它可以运行在Windows和Linux等多个平台上,为我们提供数据库服务。在不同的操作系统平台上,部署MongoDB也会有所不同。我将详细讲解MongoDB数据库基于Linux平台的部署。
前期准备操作
1.新建用户
由于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个字符,麻烦麻烦
2.用户授权
首先执行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数据库
1.下载并解压安装包
通过访问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
2.配置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
3.启动MongoDB服务
启动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的操作啦,通过使用命令行参数的方式和使用配置文件的方式,你有木有成功呢