1 mongodb的几种启动方法

  启动Mongodb服务有两种方式,前台启动或者Daemon方式启动,前者启动会需要保持当前Session不能被关闭,后者可以作为系统的fork进程执行,下文中的path是mongodb部署的实际地址。
 

1. 最简单的启动方式,前台启动,仅指定数据目录,并且使用默认的27107端口,cli下可以直接使用./mongo连上本机的mongodb,一般只用于临时的开发测试。

1
./mongod --dbpath=/path/mongodb

2. 启动绑定固定的IP地址、端口,这就mongo在连接mongod的时候就需要指定IP和端口了。

1
./mongo 10.10.10.10:12345 

3. daemon后台运行,简单的是命令后面加“&”。

1
./mongod --dbpath=/path/mongodb --bind_ip=10.10.10.10 --port=12345 & 

或者使用mongod自带的--fork参数,此时必须指定log的路径。

1
./mongod --dbpath=/path/mongodb --fork=true logpath=/path/mongod.log 

4. (推荐)以配置文件形式保存配置。

1     port=12345
2 bind_ip=10.10.10.10
3 logpath=/path/mongod.log
4 pidfilepath=/path/mongod.pid
5 logappend=true
6 fork=true

然后启动mongod时引入配置文件:./mongod -f /path/mongod.conf

下面是mongod启动的常用参数详细说明:

参数 说明 取值示例
dbpath mongodb数据文件存储路径 /data/mongodb
logpath mongod的日志路径 /var/log/mongodb/mongodb.log
logappend 日志使用追加代替覆盖 true
bind_ip 绑定的IP 10.10.10.10
port 绑定的端口 27107
journal write操作首先写入“日记”,是一个数据安全的设置,具体参考官方文档。 true

5 Mongodb开机启动

在/etc/rc.local文件末尾添加下面的代码
#add mongodb service
rm -rf /data/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/mongdb_data/ --logpath=/data/mongdb_log/mongodb.log --logappend &

2 关闭mongodb

1 前台运行:

如果没有使用--fork,直接可以前台退出终端关闭。
通过这种方式,Mongodb将会自己做清理退出,把没有写好的数据写完成,并最终关闭数据文件。
要注意的是这个过程会持续到所有操作都完成。
 

2后台运行:

如果使用--fork在后台运行mongdb服务,那么就要通过向服务器发送shutdownServer()消息来关闭。

 
1、普通命令:
$ ./mongod
> use admin
> db.shutdownServer()
要注意的是,这个命令只允许在本地,或是一个经过认证的客户端
2、如果这是一个主从式的复制集群,在1.9.1版本后将按下面的步骤来关闭
检查从Mongodb的数据更新时间
如果所有的从Mongodb和主的时间差都超过10,这个时候不会关闭mongodb
(在这种情况下面,我们可以通过配置timeoutSecs的方式来让从Mongodb完成数据的更新)
如果其中有一个从Mongodb与主服务时间差在10秒内,那么主服务器将会关闭,并且等待从Mongodb更新完成并关闭。
 
3、如果没有up-to-date 从Mongodb且你想强制关闭服务,可以通过添加force:true;命令如下:
> db.adminCommand({shutdown : 1, force : true})
> //or
> db.shutdownServer({force : true})
 
4、指定特定超时时间的关闭服务器,命令同上,另外加上一个timeoutsec:参数
> db.adminCommand(shutdown : 1, force : true, timeoutsec : 5)
> //or
> db.shutdownServer({force : true, timeoutsec : 5})

mongodb的几种启动方法的更多相关文章

  1. angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用

    今天我们要讲的是ng2的路由系统. 例子

  2. Service的两种启动方法

    刚才看到一个ppt,介绍service的两种启动方法以及两者之间的区别. startService 和 bindService startService被形容为我行我素,而bindService被形容 ...

  3. c#线程的几种启动方法

    一 启动普通线程 ThreadStart与ParameterizedThreadStart建立新线程 优缺点:简单,但难于管理,线程过多会影响系统的性能. 二 启动CLR线程池的工作者线程(普通线程和 ...

  4. Android(java)学习笔记227:服务(service)之服务的生命周期 与 两种启动服务的区别

    1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看: 2.Service 的两种启动方法和区别: (1)Servi ...

  5. Task用法(1)-启动方法

    第一.基本使用 Thread,ThreadPool,Task的区别 Task是.NET4.0加入的,跟线程池ThreadPool的功能类似,用Task开启新任务时,会从线程池中调用线程,而Thread ...

  6. Android(java)学习笔记170:服务(service)之服务的生命周期 与 两种启动服务的区别

    1.之前我们在Android(java)学习笔记171:Service生命周期 (2015-08-18 10:56)说明过,可以回头看看: 2.Service 的两种启动方法和区别: (1)Servi ...

  7. 初学安卓开发随笔之 Menu、toast 用法、活动的四种启动模式 以及 一个方便的Base活动类使用方法

    Toast toast 是安卓系统的一种非常棒的提醒方式 首先定义一个弹出Toast的触发点,比如可以是按钮之类 其中 Toast.LENGTH_SHORT是指显示时长 还有一个内置变量为Toast. ...

  8. [转载]-win7启动本地MongoDB的四种方式

    2016年04月07日 09:52:34 cherry__cheng 阅读数:19451 标签: win7启动本地MongoDB的四种方式快速启动本地mongodb 更多 个人分类: mongodb& ...

  9. Spring系列之集成MongoDB的2种方法

    MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践.今天带大家讲一讲SpringBoot集成MongoDB的两种方式,MongoDB的安装自行去官网查询,本地开 ...

随机推荐

  1. centOS7安装Composer

    1.进入Composer国内镜像网站文档页查看安装方法: https://docs.phpcomposer.com/00-intro.html 2.在centOS系统中进入特定目录执行以下命令: cd ...

  2. python - 上下文管理协议(with + __enter__ + __exit__)

    上下文管理协议: with + __enter__ + __exit__ #上下问管理协议: #with + __enter__ + __exit__ class Test(): def __init ...

  3. 【tomcat】sessionId学习(未完待续)

    这里主要研究tomcat中session的管理方式以及sessionId的原理,下文将研究sessionid存到redis中以及基于redis实现session共享. 平时也就是了解session是基 ...

  4. Web项目Shiro总结及源码(十六)

    shiro过虑器 过滤器简称 对应的java类 anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shir ...

  5. SpringMVC跨重定向请求传递数据

    (1)使用URL模板以路径变量和查询参数的形式传递数据(一些简单的数据) @GetMapping("/home/index") public String index(Model ...

  6. 【网络编程1】网络编程基础-TCP、UDP编程

    网络基础知识 网络模型知识 OSI七层模型:(Open Systems Interconnection Reference Model)开放式通信系统互联参考模型,是国际标准化组织(ISO)提出的一个 ...

  7. WCF错误远程服务器返回了意外响应: (413) Request Entity Too Large。解决方案

    这个问题出现的原因是  调用wcf服务的时候传递的参数 长度太大   wcf数据传输采用的默认的大小是65535字节. ---------------------------------------- ...

  8. C:malloc/calloc/realloc/alloca内存分配函数

    原文地址:http://www.cnblogs.com/3me-linux/p/3962152.html calloc(), malloc(), realloc(), free(),alloca() ...

  9. oracle ip 改为 机器名

    1 hosts文件 添加                   ip  机器名   这一行 2 修改listner.ora 和tnsora.ora ip改为机器名 3 重启服务

  10. js发送get 、post请求的方法简介

    POST请求: 发送的参数格式不同,请求头设置不同,具体参照 Http请求中请求头Content-Type讲解 发送的参数格式不同,后台获取方式也不相同 php请看 php获取POST数据的三种方法 ...