一、下载安装包

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 部署的建议。

标签: Database, MongoDB

添加新评论