数据存储一般使用本地或者存储在数据库,MongoDB是一个非关系型数据库,今天小结下走过的一些坑。

1、网上的很多教程对自己无效

解决方法:这种情况一般都是和版本有关系,数据库在不断的更新发展,很多东西可能发生变化,建议找教程的时候按照特定的版本进行查找,否则很容易就入坑了

2、以前安装过的MongoDB服务,怎么删除

解决方法:以管理员账号启动cmd,使用sc delete MongoDB,这里的MongoDB是服务名,请修改为自己电脑里MongoDB的服务名

3、安装完成后MongoDB怎么配置

mongoDB安装完成后,并不是直接可以使用的,需要进行配置。

刚下载完解压后,只有一个bin目录,一些exe文件都在这个bin目录下面,为了方便,建议将bin路径加入到系统环境变量

我们需要在bin目录的同级目录下建立一个data文件夹,里面再建立一个db文件夹,一个log文件夹(当然,名字什么的随便取,主要大家都这么写,而且看起来也一目了然)

上面创建的两个文件夹很明显,db文件夹就是存放数据库信息的,log文件夹是存放日志信息的

在log文件夹下创建一个mongod.log,用来存数据库运行时的一些日志信息(还是那句话,名字随便取)

然后就是配置命令了,打开cmd,输入mongod --dbpath "./data/db"(路径换为实际路径),这样就相当于指定了dbpath路径,数据库知道把信息存在哪里了

当然,也可以自己写一个配置文件,比如mongod.config,里面的内容写入dbpath=.\data\db(路径换位实际路径),然后打开cmd输入命令mongod --config “./mongod.config” --install 这是用来安装配置文件的方法,可以达到同样的目的。

但是这个命令行一关闭,MongoDB就无法使用了。

按照网上的命令进行配置(先别急着照着输)

mongod --bind_ip 0.0.0.0 --logpath “.\log\mongdb.log” --logappend --dbpath ".\data\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

很容易理解,就是绑定ip,绑定logpath,dbpath,端口27017,启动服务名为MongoDB

当然,上面的代码写成配置文件进行安装也是可以的,网上教程一般都是这么教的

燃鹅,我用第一种方法之后,cmd输入mongo无法连接数据库,用第二种方法显示我的yaml文件格式错误,而且我改来改去也不行,什么Tab换空格啦,加转义啦,双引号,并

没有什么卵用。

进服务看了下,显示MongoDB已停止服务,还无法手动启动,显示拒绝。

最后以管理员权限运行cmd,输入命令sc start MongoDB,启动服务,才解决了问题。

当然这只是一小部分,但是不得不说,坑真多,而且还是有问题没有解决,比如那个yaml文件的问题。。。

以下几个链接留存,改天再继续研究

https://stackoverflow.com/questions/37352869/why-am-i-getting-a-parser-error-on-my-yaml-config-in-mongodb-install

https://dba.stackexchange.com/questions/120027/error-parsing-yaml-config-file-yaml-cpp

https://stackoverflow.com/questions/37611154/mongodb-error-parsing-yaml-config-file

http://www.yamllint.com/

MongoDB走过的坑(4.0.3版本)的更多相关文章

  1. mongoDB 3.0以前版本 - 入门指南、示例

    一.准备工作 1. 下载mongoDB 下载地址:http://www.mongodb.org/downloads 选择合适你的版本 相关文档:http://www.mongodb.org/displ ...

  2. 【转】MongoDB 3.0 正式版本即将发布,强力推荐

    MongoDB 今天宣布3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都有 ...

  3. Mysql8.0.17版本不能自动创建activiti表的坑

    maven项目如下: 配置好数据库,和activiti的配置之后,开始执行流程部署 package com.yuanqiao.first_activiti.deployment; import jav ...

  4. 记录一次MongoDB3.0.6版本wiredtiger与MMAPv1引擎的写入耗时对比

    一.MongoDB3.0.x的版本特性(相对于MongoDB2.6及以下): 增加了wiredtiger引擎: 开源的存储引擎: 支持多核CPU.充分利用内存/芯片级别缓存(注:10月14日刚刚发布的 ...

  5. MongoDBV3.0.7版本(shard+replica)集群的搭建及验证

    集群的模块介绍: 从MongoDB官方给的集群架构了解,整个集群主要有4个模块:Config Server.mongs. shard.replica set: Config Server:用来存放集群 ...

  6. 记一次ftp服务器搭建走过的坑

    记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...

  7. SpringMVC4.0以后版本返回json格式数据问题

    第一次写博文写的不好,但希望能帮助大家,有什么偏颇的地方希望大家多多斧正.在这个问题上困扰了我两天,这两天翻来覆去睡不着.一直在想这个问题.废话不多说下面进入正题. 1.创建创建web项目,加入Spr ...

  8. Appium适配Android7.0以上版本

    Appium适配Android7.0以上版本 测试机型: 华为荣耀V9 安卓版本: Android7.0 appium版本: 1.65 说明: 公司新采购了一批安卓机器,拿了其中一台华为荣耀V9跑之前 ...

  9. SpringBoot之整合Redis分析和实现-基于Spring Boot2.0.2版本

    背景介绍 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库.网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录,以供 ...

随机推荐

  1. LeetCode -- 3SumCloset

    Question: Given an array S of n integers, find three integers in S such that the sum is closest to a ...

  2. 洛谷P4591 [TJOI2018]碱基序列 【KMP + dp】

    题目链接 洛谷P4591 题解 设\(f[i][j]\)表示前\(i\)个串匹配到位置\(j\)的方案数,匹配一下第\(i\)个串进行转移即可 本来写了\(hash\),发现没过,又写了一个\(KMP ...

  3. [8.16模拟赛] 玩具 (dp/字符串)

    题目描述 儿时的玩具总是使我们留恋,当小皮还是个孩子的时候,对玩具更是情有独钟.小皮是一个兴趣爱好相当广泛且不专一的人,这这让老皮非常地烦恼.也就是说,小皮在不同时刻所想玩的玩具总是会不同,而有心的老 ...

  4. Codeforces Round #524 (Div. 2) A. Petya and Origami

    A. Petya and Origami 题目链接:https://codeforc.es/contest/1080/problem/A 题意: 给出n,k,k表示每个礼品里面sheet的数量(礼品种 ...

  5. zigbee芯片 - JN5169

    http://www.nxp.com/products/wireless-connectivity/2.4-ghz-wireless-solutions/support-resources-for-j ...

  6. Astah画时序图

    Astah画时序图,666 1.生命线 时序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间, 一般用来描述 系统 :如 客户端,代理层,缓存层,服务器层1.....服务器层N,数据库等. ...

  7. white-space——处理元素内的空白

      定义和用法 white-space 属性设置如何处理元素内的空白.这个属性声明建立布局过程中如何处理元素中的空白符.值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的. 默认 ...

  8. VC关于置顶窗口的方法小结

    转摘自:http://blog.csdn.net/wirror800/article/details/4002381 将窗体置顶的方法有: //将窗体置顶的API函数 ::SetWindowPos(m ...

  9. JS模块化工具requirejs教程02

    基本API require会定义三个变量:define,require,requirejs,其中require === requirejs,一般使用require更简短 define 从名字就可以看出 ...

  10. jaspersoft中分组打印

    一:前言 使用IReport已经四个月了,最近在做一个保镖,是要按照类型分类,并且这些类型要横着打印,最后还要算这个类型金额的总值,这张报表现是说需要用到子报表,最后和一个同事一起用group来分组做 ...