mongodb的安装

1.下载mongodb: www.mongodb.org  下载最新的stable版:我下载的版本是3.2.5

2.解压文件

3.不用编译本身就是编译后的二进制可执行文件

打开我们下载解压好的bin目录如下:


bin文件中的内容;

bsondump: 导出bson结构
mongo: 客户端(相当于mysql.exe)
mongod: 服务器(相当于mysqld.exe)
mongodump: 整体数据库导出(二进制,相当于mysqldump)
mongoimport: 导出易识别的json文档或csv文档
mongorestore: 数据库整体导入
mongos: 路由器(分片时用)

4.启动mongod服务

/bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017

参数解释
dbpath:数据存放目录
logpath:日志存储目录
port:运行端口(默认27017)
fork:后台进程运行

5.错误情况:

mongodb非常占用磁盘空间,启动时要占3-4G左右,所以我们要选一个容量相对大的空间存储数据库文件和日志文件,如果是虚拟机的话,可以加上一句--smallfiles 来启动;

我遇到的问题:

我也是学习通过上面的步骤来进行连接mongodb的,但是遇到了不少困难,下面我讲一下我是怎么解决的:

首先我解压好了按照上面的启动命名来启动服务,遇到了这个问题:

我在网上查了一下:基本都是关于没有正确退出mongodb的答案,就是删除数据库中的mongo.lock文件就好了,但是我打开数据库存储路径,却没有看到这个lock文件。因为第一次就没开启成功,不会存在这个没正确退出的问题。之后我打开了自己的日志文件,看到了如下的解释:

看到这里就基本明白了,然后查了写资料,原来mongodb自3.0版本后新增了wiredTiger的数据存储引擎, 3.2版本后默认采用的wiredTiger, 不知道为何, 我的这个版本不能使用该引擎? 这个问题应该是这样的,于是就按照上面提示的思路:在启动的命令后面加上了--storageEngine=mmapv1  ,指定用这个存储引擎,然后再次启动,之后成功了。

之后到了启动客户端的时候了,但是又遇到了问题,解决办法是我之前用的端口是27019,和默认配置的的端口不同,改成27017就可以了。

连接好的结果如下:

mongodb入门很简单(2)的更多相关文章

  1. mongodb入门很简单(3)

     ##简单的mongodb入门命令## 1.show dbs;      //查看当前数据库 2.use databaseName;         //选库 3.show tables/collec ...

  2. mongodb入门很简单(1)

    mongodb简介: 如前边介绍的两个键-值数据库: memcached和redis属于(key/value)数据库: 而mongodb是文档数据库:存储的是文档(Bson->json的二进制) ...

  3. Redis入门很简单之七【使用Jedis实现客户端Sharding】

    Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...

  4. Redis入门很简单之五【Jedis和Spring的整合】

    Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring  在上一篇文章中,简单介绍了Jedis的 ...

  5. Redis入门很简单之四【初识Jedis】

    Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis  使用Jedis提供的Java API对Redis进行操作,是Red ...

  6. Redis入门很简单之三【常见参数配置】

    Redis入门很简单之三[常见参数配置] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存中间件memcached  Redis的一下常见设置都是通过对redis.conf ...

  7. Redis入门很简单之二【常见操作命令】

    Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存  Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一 ...

  8. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  9. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

随机推荐

  1. Maven结构下 properties 读取

    Properties properties = new Properties();InputStream in = ClassLoader.class.getResourceAsStream(&quo ...

  2. 170410、java Socket通信的简单例子(TCP)

    服务端代码: package com.bobohe.socket; import java.io.*; import java.net.*; import java.applet.Applet; pu ...

  3. SOCKS5的出现缓解了各种具体协议需要专门设计代理协议的困难局面

    socks5_百度百科 https://baike.baidu.com/item/socks5/8915011?fr=aladdin 如果您的机器具有一个合法的 Internet IP 地址, 或者您 ...

  4. 在ubuntu上部署Kubernetes管理docker集群示例, vxlan,gre

    http://www.chenshake.com/openstack-folsom-guide-for-ubuntu-12-04/ http://www.cnblogs.com/sammyliu/p/ ...

  5. java generic super, extend

    //Apple Orange 都继承自Fruit类,同时Jonathan是Apple的子类    List<? extends Fruit> list = new ArrayList< ...

  6. 前端开发 - CSS - 上

    CSS: 1.css的引入方式 2.基础选择器 3.高级选择器 4.选择器的优先级 5.伪类选择器 6.字体样式 7.文本样式 8.背景 9.盒模型border 10.margin 11.paddin ...

  7. 转!mysql 命令行下 通过DELIMITER临时改变语句分隔符 执行存储过程

    mysql 在 Navicat 界面工具 执行存储过程ok,但是在命令行下执行失败. 原因在于,默认的MySQL语句分隔符为' ; ',在输入' ; '的时候,“以为”语句已经结束了,但实际上语句还没 ...

  8. Python并行编程(三):线程同步之Lock

    1.基础概念 当两个或以上对共享内存操作的并发线程中,如果有一个改变数据,又没有同步机制的条件下,就会产生竞争条件,可能会导致执行无效代码.bug等异常行为. 竞争条件最简单的解决方法是使用锁.锁的操 ...

  9. swagger多个分组代码展示

    /** * api信息 * * @param name 标题 * @param description 描述 * @param version 版本 * @return */ private ApiI ...

  10. Git添加本地项目出现fatal: unable to get credential storage lock: File exists

    把本地项目初始化之后上传到github上出现问题:fatal: unable to get credential storage lock: File exists 解决办法:是因为我上传用的git帐 ...