mongoDB连接服务器问题,各位大神看看咋回事 如何停止MongoDB服务器
mongoDB连接服务器问题,各位大神看看咋回事
检查一下bind_ip 参数,应该是因为mongoDB服务器绑定了内网IP,所以从公网无法访问。也或者你是还没有启动mongodb,先去mongodb的bin目录下运行mongod --dbpath XXXX/data 来启动mongodb,然后再来连接mongodb。
如何停止MongoDB服务器
首先MongoDB使用mmap方式进行数据文件管理,也就是说写操作基本是在内存中进行,写操作会被每隔60秒(syncdelay设定)的flush到磁盘里。如果在这60秒内flush处于停止事情我们进行kill -9那么从上次flush之后的写入数据将会全部丢失。
如果在flush操作进行时执行kill -9则会造成文件混乱,可能导致数据全丢了,启动时加了repair也无法恢复。
避免方法
第一种 使用正确的关闭方法
官方文档说明要使用 kill -15,killall mongod或者在client的shell里,use admin,执行db.shutdownServer()即可!
第二种
通过replication 使用 一个slave,或者用replica set 来避免单结点数据丢失。
第三种 1.7以后出现类似于binlog的功能
在 MongoDB 1.7 版本的最新分支上,就出现了一个新的数据可靠性选项(–dur)的支持。并且在数据文件修复工具上也有了一些改进。
如果在启动MongoDB时加上–dur 则MongoDB 会在进行写操作前记一份日志,这和在其他一些数据库中的binlog 类似,在MongoDB 数据文件损坏的情况下,可以使用此日志来进行恢复。据说其对性能的影响不大。
mongodb和mysql的区别
MongoDB(文档型数据库):提供可扩展的高性能数据存储
一、
1、基于分布式文件存储
2、高负载情况下添加更多节点,可以保证服务器性能
3、将数据存储为一个文档
二、比较
1、稳定性
2、索引,索引放在内存中,能够提升随机读写的性能。如果索引不能完全放在内存,一旦出现随机读写比较高的时候,就会频繁地进行磁盘交换,MongoDB的性能就会急剧下降
3、占用的空间很大,因为它属于典型空间换时间原则的类型。那么它的磁盘空间比普通数据库会浪费一些,而且到目前为止它还没有实现在线压缩功能,
在MongoDB中频繁的进行数据增删改时,如果记录变了,例如数据大小发生了变化,这时候容易产生一些数据碎片,出现碎片引发的结果,
一个是索引会出现性能问题,
另外一个就是在一定的时间后,所占空间会莫明其妙地增大,所以要定期把数据库做修复,定期重新做索引,这样会提升MongoDB的稳定性和效率。
在最新的版本里,它已经在实现在线压缩,估计应该在2.0版左右,应该能够实现在线压缩,可以在后台执行现在repair DataBase的一些操作。如果那样,就解决了目前困扰
我们的大问题。
4、MongoDB对数据间的事务关系支持比较弱
5、运维不方便
MongoDB的优势
1. 适合那些对数据库具体数据格式不明确或者数据库数据格式经常变化的需求模型,而且对开发者十分友好。
2.自带一个分布式文件系统,可以很方便地部署到服务器机群上。
MongoDB里有一个Shard的概念,就是方便为了服务器分片使用的。每增加一台Shard,MongoDB的插入性能也会以接近倍数的方式增长,磁盘容量也很可以很方便地扩充。
3. 自带了对map-reduce运算框架的支持,这也很方便进行数据的统计。类似于group by
mongodb与mysql命令对比 传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,
MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。
MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
mongodb 装在d盘 怎么启动服务
原始方式 只有启动了MongoDB的服务,才能使用MongoDB的功能,通常情况下会开一个命令窗口,输入下面的命令来启动服务: 配置文件方式 如果不想每次启动的时候都在命令行中输入很多繁琐的参数,可以把参数信息保存在配置文件中。创建一个名为mongodb.cnf的配置文件,和那些小工具放在同一个目录中,文件的内容如下:dbpath="d:databasemongodbdata" 然后在命令窗口输入下面命令就可以启动服务 看似和上面的方法差不多,还是需要指定配置文件,但如果参数不止-dbpath的时候,就可以将参数都写在配置文件中,在命令行调用的时候就会显得方便很多。 Daemon方式 上面介绍的两种方式启动服务都需要打开一个命令行窗口,窗口关闭了服务也就停止了。我们使用--fork参数可以将mongodb的服务放在后台运行,这样相对比较安全。--fork参数是和--logpath参数一起使用的