目录
一、在Linux系统安装MongoDB服务器
1、下载MongoDB
2、上传MongoDB并解压
3、创建必要目录
4、配置环境变量
5、创建配置文件
6、启动命令
7、验证安装
二、在Linux系统安装MongoDB客户端Shell
1、下载MongoDB Shell
2、上传MongoDB Shell并解压
3、配置环境变量
三、MongDB启用认证
1、创建管理员用户
2、修改配置文件:启用认证
3、重启服务
4、验证认证
1、编辑连接并测试
2、新建查询并测试
一、在Linux系统安装MongoDB服务器
1、下载MongoDB
官网下载地址:MongDB DownLoad
选择适合自己的版本
2、上传MongoDB并解压
//解压
tar -zxvf 安装包名
//改名
mv mongodb-linux-x86_64-rhel70-7.0.20 mongodb-7.0.20
3、创建必要目录
sudo mkdir -p /data/db # 数据存储目录
sudo mkdir -p /var/log/mongodb # 日志目录
sudo chown `whoami` /data/db /var/log/mongodb # 授权当前用户
4、配置环境变量
# 编辑 /etc/profile
echo 'export PATH=/soft/mongodb/mongodb-7.0.20/bin:$PATH' >> /etc/profile
# 立即生效
source /etc/profile
5、创建配置文件
vim /etc/mongod.conf
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
storage:
dbPath: /data/db
net:
port: 27017
bindIp: 0.0.0.0 # 允许远程访问
processManagement:
fork: true #启用在后台运行mongos或mongod进程的守护进程模式。
参数
说明
dbpath: 数据库⽬录,默认 /data/dbport: 监听的端⼝,默认 27017bind_ip: 监听 IP 地址,默认全部可以访问fork: 是否已后台启动的⽅式登陆logpath: ⽇志路径logappend: 是否追加⽇志auth: 是开启⽤户密码登陆
6、启动命令
mongod --config /etc/mongod.conf --fork
7、验证安装
# 检查进程
ps aux | grep mongod
网页访问:http://ip:27017/
二、在Linux系统安装MongoDB客户端Shell
1、下载MongoDB Shell
官网下载地址:MongoDB Shell DownLoad
2、上传MongoDB Shell并解压
tar -zxvf mongosh-2.5.1-linux-x64.tgz
3、配置环境变量
# 编辑 /etc/profile
echo 'export PATH=/soft/mongodb/mongosh-2.5.1-linux-x64/bin:$PATH' >> /etc/profile
# 立即生效
source /etc/profile
三、MongDB启用认证
1、创建管理员用户
连接MongoDB shell:
mongosh
在MongoDB shell中执行:
// 切换到admin数据库
use admin
// 创建管理员用户(替换your-password)
db.createUser({
user: "admin",
pwd: "your-strong-password", // 使用强密码
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
"readWriteAnyDatabase" // 按需分配权限
]
})
关键角色说明:
-
userAdminAnyDatabase
:用户管理权限 -
dbOwner
:数据库完全控制权 -
readWrite
:读写权限
2、修改配置文件:启用认证
vim /etc/mongod.conf
添加:
security:
authorization: enabled # 启用认证
3、重启服务
# 查看进程
ps aux | grep mongod
# 关闭进程
kill 进程id
# 启动服务
mongod --config /etc/mongod.conf --fork
4、验证认证
# 无认证连接测试(应失败)
mongosh
> show dbs # 返回错误
# 带认证连接
mongo -u "admin" -p "your-strong-password" --authenticationDatabase "admin"
# 验证权限
> use admin
> show users # 应显示用户信息