MongoDB的备份与恢复

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。MongoDB的备份与恢复,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

今天早上刚到公司就接到一个系统用户信息异常的问题,简单排查后看到没有用户数据了,随登录查看,发现MongoDB的数据表全空了,

image.png

赶紧进行处理一下。首先对数据库的现状进行备份,备份完成后看到确实是数据都被恶意清除了。image.pngimage.png

幸好之前做的有定时数据库备份,随后进行数据库恢复。

C:\Users\Administrator>cd C:\Program Files\MongoDB\Server\4.2\bin

C:\Program Files\MongoDB\Server\4.2\bin>mongorestore --host 127.0.0.1 --port 27017 --drop -d wechat --dir D:\DB_Bak\001.MongoDB_AutoBackup\wechat_bak_2021052000\wechat

image.png

看到数据库恢复已经完成。然后对比一下数据信息。

问题

image.png

image.png


Windows与Linux 容器化的MongoDB服务登录信息对比:

登录:mongo mongodb://localhost

image.pngimage.png

需要处理空帐号及空密码登录问题

还原数据库

1.建立数据库
登录:mongo mongodb://localhost -u adminimage.png
建立数据库:use wechat-0518;
直接使用use dbname即可,如果数据库存在,则切换,如果不存在,则自动创建。image.png

2.授权–建立当前数据库下的用户及配置密码
—-注意选择相应的数据库名

db.createUser(
  {
    user: "admin",
    pwd: "*******",
    roles: [ { role: "readWrite", db: "wechat-0518" } ]
  }
)

image.png
3.还原

mongorestore -d wechat-0518 /data/db/wechat_bak_20210518/wechat/ -u admin

image.pngimage.png

4.删除数据库集合

show collections	#查看所有集合信息
db.tokens.drop()	#删除tokens这个集合

5.删除整个数据库

> use wechat-0519;
switched to db wechat-0519
> db
wechat-0519
> db.dropDatabase();
{ "ok" : 1 }

image.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/160429.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!