Mongodb部署
一、下载安装包
https://www.mongodb.com/try/download/community
下载社区版安装包
根据系统下载对应tgz包
在package下载菜单中也有shell(tgz),可单独下载命令行工具,用于连接数据库。
二、安装
解压缩安装包
tar -xvf mongodb-linux-x86_64-rhel80-5.0.9.tgz建立目录结构
mkdir {data,etc,run,log,doc}
#建立目录结构
mv {LICENSE-Community.txt,MPL-2,README,THIRD-PARTY-NOTICES} doc
#将安装包内自带的文档存放到doc目录下,如不需要可以删除。
# bin 存放二进制程序(自带)
# data 存放数据文件
# etc 存放配置文件
# run 存放pid文件
# log 存放日志文件
# doc 存放说明文档生产配置文件
cat << EOF > etc/mongodb-conf.yaml
systemLog:
#指定为文件类型
destination: file
#log地址
path: "/usr/local/mongodb/log/mongod.log"
#增量形式
logAppend: true
storage:
#数据文件地址
dbPath: "/usr/local/mongodb/data"
#开启日志
journal:
enabled: true
net:
#允许所有IP访问
bindIp: 0.0.0.0
#监听端口
port: 27017
processManagement:
#子线程运行(后台运行)
fork: true
#进程文件
pidFilePath: "/usr/local/mongodb/run/mongo.pid"
EOF添加环境变量
cat << EOF >> /etc/profile.d/mongodb.sh
#MongoDB
PATH=/usr/local/mongodb/bin:\$PATH
EOF重载环境变量
. /etc/profile.d/mongodb.sh添加systemd
cat << EOF > /usr/lib/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb-conf.yaml
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/etc/mongodb-conf.yaml
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF启动服务
systemctl daemon-reload
systemctl enable --now mongodb
systemctl status mongodb三、启用密码认证
1. 启用安全认证
- 修改配置文件: 打开 MongoDB 配置文件(通常是
mongod.conf),找到security部分,添加或取消注释以下行:
security:
authorization: enabled- 重启 MongoDB 服务: 使配置更改生效。
2. 创建管理员用户
- 连接到 MongoDB 服务器: 使用
mongo命令连接到 MongoDB 服务器。 - 切换到
admin数据库: 输入use admin命令。 - 创建管理员用户: 使用
db.createUser()方法创建管理员用户,例如:
db.createUser({
user: "admin",
pwd: "password",
roles: [{ role: "root", db: "admin" }]
})3. 创建其他用户
- 切换到需要创建用户的数据库: 例如,要在一个名为
mydatabase的数据库中创建用户,输入use mydatabase命令。 - 创建用户: 使用
db.createUser()方法创建用户,并为其分配相应的角色,例如:
db.createUser({
user: "myuser",
pwd: "password",
roles: [{ role: "readWrite", db: "mydatabase" }]
})4. 连接到 MongoDB 服务器
- 使用用户名和密码连接: 在连接 MongoDB 服务器时,需要提供用户名和密码,例如:
mongo --username admin --password password注意事项
- 密码强度: 请使用强密码,包括大小写字母、数字和符号,并定期更换密码。
- 用户角色: MongoDB 提供了多种内置角色,可以根据需要为用户分配不同的权限。
- 安全性: 启用安全认证后,所有连接到 MongoDB 服务器的客户端都需要提供有效的用户名和密码才能进行操作。
其他资源
- MongoDB 文档: 提供了关于用户认证和授权的详细信息。
- MongoDB 安全最佳实践: 提供了关于如何保护 MongoDB 部署的建议。