MongoDB 的数据库安全和 GridFS

Nona ·
更新时间:2024-09-21
· 856 次阅读

设置 MongoDB 数据库的用户名和密码

/etc/xxx.conf

编辑 mongodb 配置文件启用用户验证

vim /etc/mongodb.conf # IP bind_ip = 0.0.0.0 # 端口 port = 27017

修改以下安全配置

# Turn on/off security. Off is currently the default #noauth = true #auth = true

去掉 #auth=true 前的注释 #

auth = true

重启 mongodb 服务

service mongodb restart

使用 mongo shell 连接服务器

# 连接服务器 mongo # 连接到 admin 数据库 use admin # 创建管理员账号,用户名和密码可以任意,角色为 `root` db.createUser({user:'root',pwd:'123456',roles:['root']}) # 登录 db.auth('root','123456')

登录后在 admin 数据库

user admin db.auth('root','hello') show collections > system.users > system.version # 显示用户信息 db.system.users.find().pretty() 为特定的某个数据库设计用户名和密码 # 创建数据库 use hr # 创建用户 db.createUser({ user:'hr_user', pwd:'123', roles:[{db:'hr',role:'dbOwner'}] }) # 显示用户 show users

连接数据库

mongo 127.0.0.1:27017/demo -u demo -p # 获得 mongo shell 更多信息 mongo --help 数据建模 文档中嵌入子文档 文档之间 引用$lookup 类似关系数据库中的表连接) MongoDB 一个文档不能超过 16M(一个文档不要嵌套过大) MongoDB GridFS(网格文件系统)

用于存储大文件(超过 16M),文件(默认)会被切成 255k 的块存储,存储在两个集合中,一个存储文件的元信息,另一个存储文件的数据

# 往数据库 myfile 中上传(put)文件 mongofiles -d myfile put 文件路径 # 显示数据库 myfile 中的文件 mongofiles -d myfile list

文件存储在两个集合中

fs.files 文件的元数据信息(文件名、大小、块大小、日期、_id) fs.chunks 文件的内容(files_id, 内容,格式)

mongofiles 上传到远程数据库

mongofiles -h ip -d db_name -u user -p password put file_path mongofiles -h ip -d db_name -u user -p password list

mongofiles 工具是命令行的开发工具


作者:爷 叼烟闯天下



gridfs 数据 数据库安全 MongoDB 数据库

需要 登录 后方可回复, 如果你还没有账号请 注册新账号