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({})

 

posted @   htmlx  阅读(460)  评论(0编辑  收藏  举报
编辑推荐:
· .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语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示