目录
一:介绍
1.1 云耀云服务器L介绍
云耀云服务器L实例是新一代开箱即用、面向中小企业和开发者打造的全新轻量应用云服务器。云耀云服务器L实例提供丰富严选的应用镜像,实现应用一键部署,助力客户便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等。
1.2 mongodb介绍
MongoDB是一个流行的开源文档数据库,它使用NoSQL模型来存储和处理数据。它是一个强大的、灵活的、可扩展的数据库,可以处理大量的非结构化和半结构化数据。MongoDB存储数据的方式是以文档的形式,使用JSON格式存储数据,这意味着数据可以以更加灵活的方式组织和存储。 MongoDB还支持数据的复制和分片,以增加数据库的可靠性、可用性和性能。它的查询语言和数据模型简单易用,也支持丰富的聚合功能、地理空间查询和全文检索等功能。因此,MongoDB是一种非常受欢迎的数据库,广泛应用于Web应用开发、大数据处理、物联网等领域。
二:准备云耀云服务器L
2.1首先登陆华为云官网(没有账号的可以注册)
选择华为云耀云服务器
2.2 点击购买
2.3选择对应服务器的配置
这里我选择的是centos7.9的系统镜像,大家可以根据自己对哪一个系统熟悉来选择
2.4 确认订单
三:安装mongodb
3.1 下载mongodb
在官网下载页面找到mongodb的下载选项,选择对应的版本
Download MongoDB Community Server | MongoDB
这里给大家提供下载链接
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.24.tgz
3.2 配置mongodb
3.2.1 解压至软件目录
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.24.tgz -C /opt/
顺便给他改个名字
mv mongodb-linux-x86_64-rhel70-4.4.24/ mongodb
3.2.2配置环境变量
编辑环境配置文件
vim ~/.bashrc
>>
export MONGODB_HOME=/opt/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
<<
source ~/.bashrc
3.2.3 创建并配置数据目录
创建conf文件夹
在conf文件夹下创建mongod.conf
mkdir -p conf data/db log
vim conf/mongod.conf
>>
systemLog:
destination: file
path: "/opt/mongodb/log/mongodb.log"
logAppend: true
storage:
dbPath: "/opt/mongodb/data/db"
#开启日志默认开启可不写
journal:
enabled: true
processManagement:
#后台启动
fork: true
pidFilePath: "/opt/mongodb/log/mongod.pid"
net:
# 绑定ip 填写对应机器的ip
bindIp: localhost,[ip]
port: 27017
<<
使用ip addr 查看云服务器内网地址
3.2.3配置ACL(一定要配置)
启动mongodb
mongod -f conf/mongod.conf
连接mongo服务并添加用户
mongo --host 127.0.0.1 --port 27017
创建超级用户
use admin
db.createUser({user:"用户名",pwd:"密码",roles:["root"]})
重新编写配置文件
vim conf/mongod.conf
>>
security:
authorization: enabled
<<
重启服务
先关闭
进入服务后执行查询不返回数据用户认证之后就可以成功返回了
show dbs
db.auth("用户名","密码")
show dbs
此时mongodb就成功配置了
3.3创建用户介绍(可选)
创建用户的函数介绍
创建root角色的用户
db.createUser({user:"myroot",pwd:"123456",roles:["root"]})
创建用户角色为userAdminAnyDatabase,管理的数据库为admin 在哪个数据库创建就要在那个数据库认证
db.createUser({user:"myadmin",pwd:"123456",roles[{role:"userAdminAnyDatabase",db:"admin"}]})
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__system
db.createUser({
user:"zly",
pwd:"123456",
customData:{
name:'zly',
email:'zly@qq.com',
age:18,
},
roles:[
{role:"readWrite",db:"db001"},
{role:"readWrite",db:"db002"},
'read'// 对其他数据库有只读权限,对db001、db002是读写权限
]
})