mongo 恢复阿里云 及导入导出

阿里云的文档地址 :(已经失效)
https://help.aliyun.com/document_detail/62408.html?spm=a2c4g.11186623.6.634.fwCNio
https://help.aliyun.com/document_detail/58329.html

阿里云要求mongo版本3.2以上 我在本地windows搞了一顿没有搞ok(关键是现在的都是ssl版本的mongo启动各种报错而且没有资料查), 遂找了台linux服务器记录如下

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.15.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-3.4.15.tgz -C /mongo/
tar -zxvf hins1_data_20180519130838.tar.gz -C /mongo/data/
cd /mongo
bin/mongo --config mongo.conf

mongo.conf内容(阿里云官网的内容 路径我改了下 )

systemLog:
    destination: file
    path: /path/to/mongo/mongod.log
    logAppend: true
security:
    authorization: enabled
storage:
    dbPath: /path/to/mongo/data
    directoryPerDB: true
net:
    http:
        enabled: false
    port: 27017
    unixDomainSocket:
        enabled: false
processManagement:
    fork: true
    pidFilePath: /path/to/mongo/mongod.pid

还原整个库

./mongodump -o data
./mongorestore --host 192.168.1.1 data

以上为全部内容记录

以下为平常用mongo导入导出的一些命令

#启动命令
cd /website/mongo/mongo/bin
./mongo --host 127.0.0.1:19891
./mongod --dbpath=/website/mongo/data/db --port=19891 --fork --logpath=/website/mongo/data/logs/mongo.log

#单个库
/website/mongo/mongo/bin/mongodump --port 19891 -d db1 -o db1
./mongorestore --host dds-2-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u root -p passwd dump/ 

#单个collection
./mongoexport -h dds-2-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u root -p passwd -d db1 -c collect1 -o db1c1
./mongoimport -h 127.0.0.1:19891 -d db1 -c collection1 --type json --file db1c1

#实际恢复例子
可以在第三台mongo上 执行如下两个命令
mongodump --host 1.1.1.1:27401 -d qh -o databak
mongorestore -h 2.2.2.2:27017 -d qh  databak/qh  --authenticationDatabase admin -u root -p passwd

mongo的其他命令

给qh库创建一个root用户用于连接、读写
use admin
db.createUser(
{
user: "restricted",
pwd: "password",
roles: [ { role: "readWrite", db: "reporting" } ],
authenticationRestrictions: [ {
clientSource: ["192.0.2.0"],
serverAddress: ["198.51.100.0"]
} ]
}
)

use qh
db.updateUser("reportUser256",
{
pwd:"123",roles:["dbAdmin","userAdmin"]
}
)

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__system

参见https://docs.mongodb.com/manual/reference/method/

docker-mongo
默认创建 admin种的root
docker run --name mongo_latest -p 27401:27017 -v /website/mongo190112/db:/data/db -v /website/mongo1190112/configdb:/data/configdb -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=pwd -d mongo:latest --auth
之后需要exec -it bash进去
mong
db.auth("root","pwd") #返回1
use qh
db.createUser({user:"root",pwd:"123",roles:["readWrite"]})
然后程序使用root 123 连qh

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2018-12-25 姓名:张正强 公司:江阴嘉鸿橡塑科技有限公司 【日精进打卡第️️70天】 【知~学习】 《六...
    张正强阅读 213评论 0 0
  • 1998-2008-2018 ,似乎我的个人命运也如这经济危机一样,十年一次,世道轮回,然而世事并非如此,...
    匠才文化阅读 376评论 1 3
  • 摘要:推排期 对于QA介入的需求排期,需求评审后,QA主动沟通且推动排期确认,及时回复PM排期邮件。 常通告对于提...
    玲小喵阅读 300评论 0 0
  • 这本书有一种魔力让我停不下来,看完之后会反省自己,沉默良久。 印象深刻的内容 认识自己并接纳自己,以更好的姿态生活...
    嫫懿穗阅读 256评论 2 0
  • 柳絮拖着行李箱后面还跟着两个跟屁虫,一个是她的学长子枫,一个是她的弟弟柳叶。 在收到学校的录取通知书后,柳絮就迫不...
    悲在心中225阅读 282评论 0 0