1. 基础环境
操作系统:Amazon Linux 2、CentOS等系统均可
本次搭建示例MongoDB版本:3.4.24
2. 安装包下载
可以选择wget直接下载或者在官网下载安装包到电脑上再上传至服务器。
方式一:wget下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.24.tgz
方式二:官网下载后上传
下载地址:Download MongoDB Community Server | MongoDB
3. 解压、修改路径
#解压
tar -zxvf mongodb-linux-x86_64-3.4.24.tgz
#移动安装包
mv mongodb-linux-x86_64-3.4.24 /usr/local/mongodb
#创建必要的数据、日志等文件夹
cd /usr/local/mongodb
mkdir data log etc
4. 修改环境变量
编辑/etc/profile文件
#添加环境变量
vim /etc/profile
在末尾加入以下内容:
export PATH=$PATH:/usr/local/mongodb/bin
wq保存退出后,输入以下命令生效:
source /etc/profile
5. MongoDB配置文件修改
vim /usr/local/mongodb/etc/mongodb.conf
文件内容如下:
dbpath=/usr/local/mongodb/data #数据目录
logpath=/usr/local/mongodb/log/mongodb.log #日志文件路径
port=27017 #端口
bind_ip = 0.0.0.0 #访问限制
fork=true #后台启动
journal=false
6. 服务启动和关闭
# 启动服务
mongod --config /usr/local/mongodb/etc/mongodb.conf
# 关闭服务
mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
7. 添加用户
使用mongo连接数据库,然后进行添加用户操作
# 本地连接
$ mongo
# 添加用户
> use admin
switched to db admin
> db.createUser({user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
# 添加超级用户
> db.createUser({user: "root",pwd: "123456",roles: [ { role: "root", db: "admin" } ]});
# 查看已有用户
> show users
# 删除单个用户
> db.system.users.remove({user:"XXXXXX"})
# 关闭服务
> db.shutdownServer()
开启登录验证,在配置文件中添加auth=true字段
vim etc/mongodb.conf
# 添加下面内容至配置文件中
# 登录验证
auth=true
重启服务,进行验证
# 关闭服务
mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
# 启动服务
mongod --config /usr/local/mongodb/etc/mongodb.conf
使用用户名密码进行登录验证
mongo 127.0.0.1/admin -u username -p password
8. 加入systemctl管理
创建.service文件
touch /usr/lib/systemd/system/mongod.service
vim编辑该文件,加入以下内容:
[Unit]
Description=mongod
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
PrivateTmp=true
加载服务配置
systemctl daemon-reload
#查看服务状态
systemctl status mongod
#启动服务
systemctl start mongod
#停止服务
systemctl stop mongod