今天早上刚到公司就接到一个系统用户信息异常的问题,简单排查后看到没有用户数据了,随登录查看,发现MongoDB的数据表全空了,
赶紧进行处理一下。首先对数据库的现状进行备份,备份完成后看到确实是数据都被恶意清除了。
幸好之前做的有定时数据库备份,随后进行数据库恢复。
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
看到数据库恢复已经完成。然后对比一下数据信息。
问题
Windows与Linux 容器化的MongoDB服务登录信息对比:
登录:mongo mongodb://localhost
需要处理空帐号及空密码登录问题
还原数据库
1.建立数据库
登录:mongo mongodb://localhost -u admin
建立数据库:
use wechat-0518;
直接使用use dbname即可,如果数据库存在,则切换,如果不存在,则自动创建。
2.授权--建立当前数据库下的用户及配置密码
----注意选择相应的数据库名
db.createUser(
{
user: "admin",
pwd: "*******",
roles: [ { role: "readWrite", db: "wechat-0518" } ]
}
)
3.还原
mongorestore -d wechat-0518 /data/db/wechat_bak_20210518/wechat/ -u admin
4.删除数据库集合
show collections #查看所有集合信息
db.tokens.drop() #删除tokens这个集合
5.删除整个数据库
> use wechat-0519;
switched to db wechat-0519
> db
wechat-0519
> db.dropDatabase();
{ "ok" : 1 }
评论区