centos7.9 安装mongodb4.4.8

安装依赖,命令如下

sudo yum install libcurl openssl xz-libs
下载压缩包,地址如下

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.8.tgz
解压压缩包,解压存放路径,根据自己定义来,我这里放到/home目录下

tar -zxvf mongodb-linux-x86_64-rhel70-4.4.8.tgz
复制解压包bin目录下文件到 usr/local/bin/目录下,这样目的是全局都可以使用

cp /mongodb_home/bin/* /usr/local/bin/

说明:
mongodb_home: 表示自己服务器mongod压缩包解压的路径
创建mongodb所需的日志、数据、配置目录

mkdir -p /home/mongodb/data
mkdir -p /home/mongodb/log
mkdir -p /home/mongodb/conf
创建mongod用户组

groupadd mongod
创建 mongod用户并指定mongod用户组

useradd mongod -g mongod

参数说明
-g: 表示指定用户组,该用户组必须存在
指定日志、数据、配置文件目录所属用户为mongod

chown -R mongod:mongod /home/mongodb
创建配置文件(此处使用 mongod创建以及配置)

切换用户

su - mongod
创建配置文件(配置文件放到/home/mongodb/conf目录下)

systemLog:
  destination: file
  logAppend: true
  path: /home/mongodb/log/mongod.log

storage:
  dbPath: /home/mongodb/data
  journal:
    enabled: true
  wiredTiger:
    engineConfig:
      cacheSizeGB: 5

processManagement:
  fork: true
  pidFilePath: /home/mongodb/mongod.pid
  timeZoneInfo: /usr/share/zoneinfo

net:
  port: 27017
  bindIp: 0.0.0.0

security:
   authorization: enabled> 

配置文件说明

属性	描述
systemLog.destination	表示输出的日志类型
systemLog.logAppend	表示是否以追加文件形式输出日志
systemLog.path	日志存放的路径
storage.dbPath	数据存放的目录
storage.journal.enabled	是否启动journal日志
storage.wiredTiger.engineConfig.cacheSizeGB	存储引擎使用的内存大小,
processManagement.fork	表示mongod是否以dacmcn形式启动
processManagement.pidFilePath	进程PID存放的路径
processManagement.timeZoneInfo	使用的时区
net.port	绑定的端口号
net.bindIp	绑定的IP
security.authorization	是否启动安全认证

启动mongodb(启动使用 root用户启动)

mongod -f /home/mongodb/conf/mongod.conf

出现下图表示启动成功image
使用客户端连接服务器
``
mongo --port 27017

出现下图表示连接成功image
创建管理员用户

先切换到admin数据库
```use admin```
创建管理员账号并指定角色
```db.createUser(
    {
        user: "admin", // 用户名
        pwd: "admin@123", // 密码
        roles: [
            {
                role: "clusterAdmin", 
                db: "admin"
            },
            {
                role: "dbAdminAnyDatabase",
                db: "admin"
            },
            {
                role: "userAdminAnyDatabase",
                db: "admin"
            },
            {
                role: "readWriteAnyDatabase",
                db: "admin"
            },
            {
                role: "readWrite",
                db: "admin"
            }
        ]
    }
    )```
出现下图表示创建成功image

使用创建管理员账号登录,来创建其他用户并分配角色

管理员登录

```mongo --port 27017 -u admin -p admin@123```

说明:
 --port: 端口号
 -u: 用户名
 -p: 用户密码
出现下图说明登录成功image
![](https://img2024.cnblogs.com/blog/2119461/202412/2119461-20241226115053650-1903758443.png)

创建普通用户

先切换到要创建用户的数据库

```use test```
 说明:
  如果 test 这个数据库不存在,则会自动创建
创建普通用户
```db.createUser(
    {
        user: "test",
        pwd: "test@123",
        roles:[
            {role: "dbOwner" , db:"test"}
        ]
    }
    )```
出现下图表示成功image

创建成功后使用刚才创建的用户登录就行,登录方式和登录管理员的一样
posted @ 2024-12-26 11:53  moxunjy  阅读(5)  评论(0编辑  收藏  举报