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
创建成功后使用刚才创建的用户登录就行,登录方式和登录管理员的一样