前两次在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