mongodb 基本操作(二)用户管理、文档导入导出、二进制备份
一些基本内容的记录,没有深度,只是简单的使用。
一、用户管理:
mongodb 默认没有用户,管理用户需要切换到 admin 库下:
use admin
1、创建用户
需要在 admin 库下进行操作
参数 | 描述 |
---|---|
user | 指定用户名 |
pwd | 密码 |
roles | 对象数组,可以指定对多个表的操作权限 |
> use admin;
> db.createUser(
{
user: "admin",
pwd: "123456",
roles: [
{ role: "read", db: "reporting" },
{ role: "read", db: "products" },
{ role: "read", db: "sales" },
{ role: "readWrite", db: "accounts" }
]
}
)
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
2、设置 mongodb 启动验证
在运行 mongod
的时候,后面加上 --auth
参数:
/usr/local/mongodb/bin/mongod --dbpath /data/mongodb/ --logpath /data/mongolog --fork --port 27017 --auth
3、验证用户操作
开启 --auth
之后,如果没有验证用户,则无法对表进行操作
验证用户的登录:
db.auth(name,password);
> use admin
switched to db admin
> db.auth("root","123456")
1
完成验证后,可以对该用户能够操作的表进行操作,没有给 role
的表依旧没有权限操作。
如果在连接的时候,直接使用该用户进行连接且验证,则可以通过下面的方式,启动 mongo 客户端:
需要注意的是,因为用户是在 admin 中增加的,因此 authenticationDatabase
的值是 admin
:
mongo -p 27017 -u "root" -p "123456" --authenticationDatabase "admin"
4、完整的使用示例:
在 test 数据库上添加用户
root
,密码root
,只对 test 有读写操作权限,启动 mongo 需要验证权限
db.createUser({user:'root',pwd:'root',roles:[{role:'readWrite',db:'test'}]})
5、查看某个用户的信息
> use admin
> db.getUser('root')
{
"_id" : "admin.root",
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
6、删除某个用户
use admin
db.dropUser(用户名)
7、更改密码
use admin
db.changeUserPassword("root",'newpassword')
二、导入导出操作
通用的参数:
参数 | 描述 |
---|---|
-h | 主机 |
--port | 端口 |
-u | 用户名 |
-p | 密码 |
1、导出操作
参数 | 描述 |
---|---|
-d | 库 |
-c | collection |
-f | 字段(列) |
--type | 导出类型,默认json,可以选择 vsv |
-q | '{age:{$gt:23}}' 查询条件 需要加引号 |
-o | 导出文件路径 |
./mongoexport -u "root" -p "123456" --authenticationDatabase "admin" -d test -c user -f name --type csv -o "/data/backup/20180515-test.csv"
2、导入操作
参数 | 描述 |
---|---|
-d | 代导入的数据库 |
-c | 导入的表,不存在则继续创建 |
-f | 导入的字段 |
--file | 备份文件路径 |
--type | 文件类型 |
--headerline | 如果是csv格式,第一行是字段标识,需要去掉 |
./mongoimport -d test -c user --type csv --headerline --file "/data/backup/20180515-test.csv"
三、二进制导入导出 :mongodump
主要用于备份操作
导出:
./mongodump -d test -o /data/backup/dump/
导入:
./mongorestore -d test --dir /data/backup/dump/test
mongodump
的文档地址:
文章已经结束啦
文章版权:Postbird-There I am , in the world more exciting!
本文链接:http://www.ptbird.cn/mongodb-user-import-export-dump.html
转载请注明文章原始出处 !
扫描二维码,在手机阅读!