实战--在centos中使用mongo

  对于菜鸟的我来说,要想做出一个产品,还是挺困难的。如果是一个小团队,你几乎要涉及产品的方方面面,如下是我在使用过程中遇到的一些问题。在产品的开发期间,都是摸着石头过河。就在前段时间mongodb由于没有设置密码访问,被黑客攻击了。因此腾讯云还发了邮件过来,好在是在产品开发阶段,于是乎要修好这些漏洞,便有了这一篇记录。
  腾讯云给出的一些博文链接:
  一场屠戮MongoDB的盛宴反思 | 超33000个数据库遭遇入侵勒索——freebuf
  MongoDB数据库勒索,中国受害者数量超乎想象

黑客留下的痕迹:
这里写图片描述
大概意思是:要交0.5个比特币要他指定的地址,然后会将你的数据归还给你。

关于比特币的大概认识:
下面一段摘自知乎的回答:(https://www.zhihu.com/question/22020816/answer/20073288)
按照传统理论,货币价格不但和数量有关,还和货币流通速度有关。
全球货币总量是60万亿美金,比特币总量是2100万,大约1฿=300万美金。
但是如果比特币流通速度提高一倍的话,同样的支付需求只需要1050万个就能够完成了,大致相当于比特币数量增加了一倍。这时候1฿=150万美金。

centos中命令行操作mongo

在已经开启mongo的前提下。在centos找到mongo,并且直接运行mongo则可以在centos中以命令行的方式操作mongo 例如:
如下是我的文件目录,如要使用,请修改成自己的目录:

./bin/mongo

带安全验证方式启动mongo

既然前面讲到遭受攻击,那么这里肯定是要以安全的方式启动mongo,即是要输入密码才能连接。
首先,以配置文件启动的话,参数都在配置文件里面了,这里贴出我的配置文件:

dbpath = /usr/local/***/mongodb/data/db

logpath = /usr/local/***/mongodb/logs/mongodb.log

port = 27017

fork = true

logappend = true
#添加验证
auth = true

rest = true

如下是我的文件目录,如要使用,请修改成自己的文件目录:

(以配置文件启动mongo)
./bin/mongod --config /usr/local/***/mongodb/bin/mongodb.conf       
(直接命令行启动mongo)
./bin/mongod --dbpath /usr/local/***/mongodb/data/db  --logpath /usr/local/***/mongodb/logs/mongdb.log --auth   

关闭mongo

正确的关闭方法:

killall mongod

错误的关闭方法:

kill -9 进程号

如果使用了错误的关闭方法(包括异常关机,和kill -9),通常会出现如下错误:

ERROR: child process failed, exited with error number 48

解决方案:
在 ./mongodb/bin/data 目录下找到mongod.lock (一般会在你的data目录下),删除mongod.lock:
rm mongod.lock
在关闭mongod的情况下,再正常启动mongod,则不会出现上面的错误。

下面一段文字是摘自(http://www.cnblogs.com/joshua317/articles/5190385.html)
warning:千万不能使用kill -9 ,因为MongoDB使用mmap方式进行数据文件管理,也就是说写操作基本是在内存中进行,写操作会被每隔60秒(syncdelay设定)的flush到磁盘里。如果在这60秒内flush处于停止事情我们进行kill -9那么从上次flush之后的写入数据将会全部丢失。
如果在flush操作进行时执行kill -9则会造成文件混乱,可能导致数据全丢了,启动时加了repair也无法恢复。

连接mongo

我这边的后台是用nodejs的express框架写的,用了moongose,express-session和connect-mongo模块,那么连接方式应该给为如下方式:

mongodb://user:password@localhost/dbname

例如:我的
username:user_zone
password:123456
dbname:mydb
则如下:

mongodb://user_zone:123456@localhost/mydb
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值