Mongodb 数据备份和权限

Mongodb 数据管理操作,导入导出,权限管理。

数据导出

mongodump -h 127.0.0.1:27017 -d <db> -o <path> [-u -p]

数据导入

mongorestore —host 127.0.0.1: 27017 -d <db> <path>

单表导出

mongoexport -d <db> -c <table> -q ‘{“name”:{$ne:null}}’ -o <path>.json

单表导入

mongoimport —host 127.0.0.1:27017 -d  -c .json

数据清空

mongo —host 127.0.0.1:19999 <db> —eval “db.dropDatabase()"

权限

设置超级管理员

db.createUser({
    user: 'admin',
    pwd: 'admin',
    roles :[{
        role: 'userAdminAnyDatabase',
        db: 'admin'}
    ]})

授权


db.auth('admin','admin')

某个库的用户


// 在设置某个数据库的时候,先执行授权
use admin;
db.auth('admin','admin');
use demo;
db.createUser({
    user: 'demo_user',
    pwd:123456,
    roles :[{
        role: 'readWrite',
        db: 'demo'
    }]})

备份用户


// 在设置某个数据库的时候,先执行授权
use admin;
db.auth('admin','admin');
use demo;
db.createUser({
    user: 'demo_wheel',
    pwd:123456,
    roles :[{
        role: 'read',
        db: 'demo'
    }]})

开启授权认证

sudo vi /etc/mongod.conf
# 去掉注释 
security:
    authorization: 'enabled'
# 重启
sudo service mongod restart

访问某个库

mongo 127.0.0.1:27017/<db> -u demo_user -p 123456

定时备份

备份脚本

#!/bin/bash
backup_file=/home/backup/<db>
date_now=`date +%Y_%m_%d_%H%M`
backfile_name=movie_$date_now
cd $backfile
mkdir -p $backfile_name
mongodump -h 127.0.0.1:27017 -d <db> -u user_wheel -p 123456 -o $backfile_name
tar zcf $backfile_name.tar.gz $backfile_name
rm -rf $backfile_name

# 可以把备份文件上传到云服务器(七牛)
#NODE_ENV=$backfile@$backfile_name node /home/upload.js

定时任务

crontab -e 
# 凌晨13分
13 00 * * *  sh /home/backup.sh

   转载规则


《Mongodb 数据备份和权限》 Shaojun Liu 采用 知识共享署名 4.0 国际许可协议 进行许可。
 本篇
Mongodb 数据备份和权限 Mongodb 数据备份和权限
Mongodb 数据管理操作,导入导出,权限管理。 数据导出mongodump -h 127.0.0.1:27017 -d <db> -o <path> [-u -p] 数据导入mongorestore —host 12
2017-08-02
下一篇 
Mongodb 教程 Mongodb 教程
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非
2017-08-02
  目录