ubuntu mongo数据库无缘无故丢失了?如何保护mongoDB的数据。

Posted liujingqiu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu mongo数据库无缘无故丢失了?如何保护mongoDB的数据。相关的知识,希望对你有一定的参考价值。

前两次在ubuntu上部署了mongo 数据库后,分别在docker 和 宿主机上都部署过一次,但是两次的数据都“无缘无故”被丢失了。后来通过查看mongoDB的log (mongo默认log路径: /var/log/mongodb/mongod.log),可以看到

后来分析到,因为在部署mongodb数据库时,没有对其进行账号密码的设置,导致被黑了,安全意识不够导致的。
解决方法
给mongod数据库设置账号以及密码。

use admin
db.createUser(
{
user: "admin",
pwd: "123456&",
roles: [ "root" ]
}
)

设置开启权限,这一步就是上面配置文件(mongo默认的配置文件位置 /etc/mongod.conf)中的 auth = true

修改配置文件后,重启mongo服务

sudo systemctl start mongod

重启服务完成后,

use admin
db.auth("admin","123456&")

给其他数据库创建用户和权限
最后就是给其他数据库创建权限了,这个就是自己使用的数据库。如果不创建角色权限的话,其他数据库也是用不了。

use testdb
db.createUser(
    {
        user:"testdb",
        pwd:"root1234",
        roles:[
            {role:"readWrite",db:"testdb"},
            {role:"dbOwner",db:"testdb"}
        ]
    }
)

代码中数据库连接时就需要添加用户名密码了。

问题应该可以解决了。
过段时间,可以再次看看,是否在mongodb中,又会产生
READ__ME_TO_RECOVER_YOUR_DATA 的数据表。
如果持久一段时间没有再产生,说明问题应该是已经解决了。

谢谢https://blog.csdn.net/u013513053/article/details/105785980?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link

以上是关于ubuntu mongo数据库无缘无故丢失了?如何保护mongoDB的数据。的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu mongo数据库无缘无故丢失了?如何保护mongoDB的数据。

ubuntu mongo数据库无缘无故丢失了?如何保护mongoDB的数据。

session没有过期,其保存的数据无故丢失的原因

Mongo/Mongoose 快速更新导致数据丢失

一段mongo数据库数据丢失 引发的血案

mongo分片丢失分片索引