mongodb入门很简单(2)
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)的更多相关文章
- mongodb入门很简单(3)
##简单的mongodb入门命令## 1.show dbs; //查看当前数据库 2.use databaseName; //选库 3.show tables/collec ...
- mongodb入门很简单(1)
mongodb简介: 如前边介绍的两个键-值数据库: memcached和redis属于(key/value)数据库: 而mongodb是文档数据库:存储的是文档(Bson->json的二进制) ...
- Redis入门很简单之七【使用Jedis实现客户端Sharding】
Redis入门很简单之七[使用Jedis实现客户端Sharding] 博客分类: NoSQL/Redis/MongoDB redisjedisspringsharding分片 <一>. 背 ...
- Redis入门很简单之五【Jedis和Spring的整合】
Redis入门很简单之五[Jedis和Spring的整合] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedisspring 在上一篇文章中,简单介绍了Jedis的 ...
- Redis入门很简单之四【初识Jedis】
Redis入门很简单之四[初识Jedis] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存jedis 使用Jedis提供的Java API对Redis进行操作,是Red ...
- Redis入门很简单之三【常见参数配置】
Redis入门很简单之三[常见参数配置] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存中间件memcached Redis的一下常见设置都是通过对redis.conf ...
- Redis入门很简单之二【常见操作命令】
Redis入门很简单之二[常见操作命令] 博客分类: NoSQL/Redis/MongoDB redisnosql缓存 Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一 ...
- Redis入门很简单之一【简介与环境搭建】
Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件 [Redis简介] <一>. NoSQL ...
- 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)
1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...
随机推荐
- 160513、nginx+tomcat集群+session共享(linux)
第一步:linux中多个tomcat安装和jdk安装(略) 第二步:nginx安装,linux中安装nginx和windows上有点不同也容易出错,需要编译,这里做介绍 一.安装依赖 gcc open ...
- Zabbix添加web页面监控告警
一,选择添加了web监控的主机 二,创建一个告警触发器 三,定义监控项 设置完毕假如网站down就会触发告警 怎么设置web监控以及触发告警action参考 Zabbix使用SMTP发送邮件报警并且制 ...
- Spring Data CrudRepository增删改查方法(八)
CrudRepository 的主要方法 long count(); boolean exists(Integer arg0); <S extends StudentPO> S sav ...
- 解决MySQL数据库同步1236错误
1.报错如下: Got fatal error from master when reading data from binary log: 'The slave is connecting usin ...
- python常见模块之random模块
import random print(random.random()) #随机产生一个0-1之间的小数 print(random.randint(1,3)) #随机产生一个1-3之间的整数,包括1和 ...
- python小数据池,代码块的最详细、深入剖析
代码块: Python程序是由代码块构造的.块是 一个python程序的文本,他是作为一个单元执行的. 代码块:一个模块,一个函数,一个类,一个文件等都是一个代码块. 而作为交互方式输入的每个命令都是 ...
- oracle查看被锁的表和被锁的进程,杀掉进程
-- 1. 查看被锁的表 SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name ...
- Java集合—集合框架
前言 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(JavaCollectio ...
- UVA10763:Foreign Exchange&&UVA10340: All in All(水题)
10763:水题不解释直接贴代码. #include <iostream> #include <string.h> #include <stdio.h> #incl ...
- PAT 1140 Look-and-say Sequence [比较]
1140 Look-and-say Sequence (20 分) Look-and-say sequence is a sequence of integers as the following: ...