mysql导入导出msc_mongo导入导出

## **恢复数据**

-----------------

①:备份后,新增的数据在恢复时不会被删除。

②:如果存在同样的数据,恢复的时候会被覆盖掉,不会重复插入。

③:如果备份后某条数据被update了,恢复的时候备份后倘若某条记录被更新了,无法恢复到备份点的状态

## **所以在生产环境中,可用备份数据还原到开发环境,再修改对应数据,再插入或修改到生产**

```

mongorestore -h127.0.0.1:27017 -d ops-db -c t_module_permission -u ops -p abc123 /root/ops-db/t_module_permission.bson

mongorestore -h10.47.43.22:27017 -ubrokerwork -po6RJzAF1LELzutEv -dbrokerwork /root/brokerwork20170416/brokerwork

load 在mongodb命令行下可以直接导入一个文件 load("1.js")

备注:mongodump 如果不指定 -d 参数,刚会备份整个 MongoDB 实例。

mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径

mongorestore -h127.0.0.1 --port 27017 -uadmin -pWAer8R59G6 --authenticationDatabase=admin -dtest --drop /root/test/

### --drop

#### 恢复的时候,先删除当前数据(包括索引),然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用哦!所以使用drop的导入的时候应该bson和json应该一块导入

```

直接执行文件,文件名改为js结尾(文件里面是一些执行语句)

-----------------------------

mongo 127.0.0.1:27017/msc-db -umsc -pabc123 flag.js

## **数据备份**

导出的是文件夹

`mongodump -h127.0.0.1:27017 -d msc-db -c t_tenant_i18n -u msc -p abc123 --oplog -o msc-db/`

--oplog只适合于副本集,备份时候记录期间的数据变化,恢复时会更新这些变化的数据

*****

mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径

如果没有用户谁,可以去掉-u和-p。

如果导出本机的数据库,可以去掉-h。

如果是默认端口,可以去掉--port。

如果想导出所有数据库,可以去掉-d。

2,导出所有数据库

`mongodump -h 127.0.0.1 -u cine -p 111111 -o /www/web/tmp`

3,导出指定数据库

`mongodump -h 127.0.0.1 -d cine -o /www/web/tmp/`

------------------------------------------

**用于集群**

```

mongodump -h127.0.0.1 --port 20000 --authenticationDatabase=admin --gzip -dfeedworkBid -cLEANWORK_XAUUSD_W1 -uadmin -pWAer8R59G6 -o /root/

mongorestore --gzip 导入压缩的备份

mongorestore -h10.47.43.22 -urakeback -pGqTEt12E -drcr_t000138 --authenticationDatabase=admin --gzip dump_t000138/rcr_t000138/finish_tickets.bson.gz

```

**不要把mongoimport,mongoexport用于 生产环境的备份**

\-》因为mongoimport,mongoexport只是导入导出JSON格式数据

\-〉无法支持和保留所有的类型的数据

\-〉原因是:Mongo内部完整的数据是用BSON格式去表示的,而JSON只是BSON的子集,所以有些数据格式,JSON无法表示出来

JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息

## **导出的是文件**

mongoexport/mongoimport

将collection导出为json/csv格式数据/将数据导入数据库,mongoimport恢复会直接覆盖这张表

`mongoexport -h10.25.205.183:27017 -u owsc -pDS3x8mHP -d owsc -c t_structural_setting -q '{"tenantId":"T001172", "productId":"TW"}' -o chaxun.txt`

`mongoimport -h10.28.185.68:27017 -dbrokerwork -ct_customer_profiles -ubrokerwork -po6RJzAF1LELzutEv tony.txt`

## **--csv 以EXCEL格式导出**

## **导出某个字段**

```

mongoexport -h10.25.205.183:27017 -uowsc -pDS3x8mHP -dowsc -ct_tenant -f _id,tenantName -q '{}' --csv -o tony.csv

mongodump -h10.28.185.68 --port 27017 -ubrokerwork -p'o6RJzAF1LELzutEv' -dbrokerwork -ct_account_base_info -q '{"tenantId" : "T001194"}' -o T001194

```

带条件的导出

统计客户数

```

for db in `cat 2.txt`

do

echo $db >>1.csv

sed "s/117/${db}/g" 1.js >2.js

mongo 10.47.43.22:27017/brokerwork -ubrokerwork -po6RJzAF1LELzutEv 2.js >> 1.csv

done

```

下面是1.js

```

db = db.getSiblingDB('brokerwork');

cursor = db.t_customer_profiles.count({"tenantId" : "117","enabled" : true,"createTime" : {"$gte":NumberLong(1483200000000)},"createTime" : {"$lte":NumberLong(1490976000000)}});

printjson(cursor);

```

直接打印出结果

```

db.t_template.find({"tenantId":"T002105","type":"SMS","templateType" : "29298"},{ "id": 1, "title": 1,"templateType":1 }).forEach(function(item){

print(JSON.stringify(item));

})

db.t_tenant_product.find({"productId":{"$in":["BW","TW"]}}).forEach(function(products){

db.t_tenant.find({"_id":products.tenantId}).forEach(function(tenants){

print(tenants.tenantName,products.tenantId,products.productId,products.productDomain,products.customerDomain);

});

});

```

#

```

db.t_form_field.find({'tenantId':'T000000',"sysDefault" : true,'message.vi-VN':{$exists:true}}).forEach(function(v){

db.t_form_field.update({'tenantId':'T001630','message.vi-VN':{$exists:false},'formId':v.formId,'fieldId':v.fieldId},{$set:{'message':v.message}});

})

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值