两种方式连接MongoDB

1. 类似Mysql一样连接

1
mongo --host 10.10.18.11 -u "myUserAdmin" --authenticationDatabase "admin" -p'abc123'

2. 登录后进行验证

1
2
3
4
5
6
7
# 先连接
mongo --host 10.10.18.11
# 进行验证
rs0:PRIMARY> use admin
switched to db admin
rs0:PRIMARY> db.auth("myUserAdmin", "abc123" )
1

创建用户

1
2
3
4
5
6
7
8
9
#1.一定要先选择要创建用户的库!
use test_db

#2.执行创建用户命令并设置角色权限
db.createUser({
user:"user",
pwd:"password",
roles:[{role:"readWrite",db:"test_db"}]
})

user:用户名
pwd:密码
db:指定该用户的数据库,admin是用于权限控制的数据库,如果没有需要新建一个
roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。

具体角色的功能

  • Read:允许用户读取指定数据库
  • readWrite:允许用户读写指定数据库
  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  • clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
  • readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
  • readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
  • userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
  • dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
  • root:只在admin数据库中可用。超级账号,超级权限

备份

1
2
3
4
5
6
-u 用户
-p 密码
-d 备份的库
-o 备份存储目标位置

/var/www/mongodb/bin/mongodump -u dba -p password -d leanote -o /var/www/data/

导入

1
2
3
4
5
-d 目标库
./leanote json文件
--drop 清空原库表

mongorestore -d yapi ./leanote --drop --noIndexRestore

本文地址 https://laoona.com/post/effa6b88.html