Centos7安装Mongodb
mongodb的安装与启动(centos7)
记录下如何安装和启动mongodb:
1.解压mongodb:
[root@iZ25jb1qatzZ mongodb]# tar -zvxf mongodb-linux-x86_64-2.6.4.gz
2. 进入mongodb设置用户名密码:
[root@iZ25jb1qatzZ bin]# ./mongo
MongoDB shell version: 2.6.4
connecting to: test
> use admin
switched to db admin
> addUser('abc','abc')
db.createUser({ user: "onepartner", pwd: "Utmgk_opc_q_nj_dkneL4mu", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
3. 退出后开启mongodb:(默认端口:27017)
./mongod --dbpath /data/mongodb/data --logpath /data/mongodb/mongodb.log -auth --fork
-auth:需要验证才能进入。
--fork:在后台运行。
--dbpath:制定数据存放位置
--logpath:日志存放位置
4.设置开机自动运行:
[root@iZ25jb1qatzZ bin]# echo "/home/mongodb-linux-x86_64-2.6.4/bin/mongod --dbpath /data/mongodb/data --logpath /data/mongodb/mongodb.log -auth --fork" >> /etc/rc.local
5.关闭不能强行kil, 可能会出问题的,要温柔:进入mongodb 执行:
> db.shutdownServer()
mongodb密码和传统数据如mysql等有些区别: mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码。
1. 查看所有数据库(在mongodb新版本里并没有admin数据库,但是并不妨碍第2步操作。)
show dbs
2. 进入admin数据库
use admin
3. 创建管理员账户
db.createUser({ user: "admin", pwd: "password", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase。admin用户用于管理账号,不能进行关闭数据库等操作。
4. 创建root
db.createUser({user: "root",pwd: "password", roles: [ { role: "root", db: "admin" } ]})
创建完admin管理员,创建一个超级管理员root。角色:root。root角色用于关闭数据库。
db.shutdownServer()
5. 创建用户自己的数据库的管理角色
use yourdatabase
db.createUser({user: "user",pwd: "password",roles: [ { role: "dbOwner", db: "yourdatabase" } ]})
role: "dbOwner"代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等当账号管理员和超级管理员,可以为自己的数据库创建用户了。(坑)这时候一定,一定要切换到所在数据库上去创建用户,不然创建的用户还是属于admin。
如果是读写角色的话,权限设置为role: "readWrite"
6. 查看用户
show users
7. 删除用户
删除用户必须由账号管理员来删,所以,切换到admin角色
use admin
db.auth("admin","password")
删除单个用户
db.system.users.remove({user:"XXXXXX"})
删除所有用户
db.system.users.remove({})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构