数据存储一般使用本地或者存储在数据库,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. hdu 1249 三角形 (递推)

    三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  2. SRM710 div1 MagicNim(博弈论)

    题目大意: 给出n+1堆石子,前n堆石子的数量是a[i],最后一堆只有1个石子,但是具有魔力 拿走该石子的一方可以选择接下来是进行普通的Nim游戏还是anti-nim游戏 问是先手必胜还是必败 首先拿 ...

  3. [Leetcode] unique paths ii 独特路径

    Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How m ...

  4. vector 基础2

    size  :返回有效元素个数 max_size  :返回 vector 支持的最大元素个数 resize  :改变有效元素的个数 capacity  :返回当前可使用的最大元素内存块数(即存储容量) ...

  5. 安卓tablayout控件的使用

    1.加载依赖 api "com.android.support:design:26.1.0" 2.布局 <android.support.design.widget.TabL ...

  6. io流中的装饰模式对理解io流的重要性

    为了说明 io流中的装饰者模式对理解io流的重要性,我想先简要介绍以下io的装饰模式. 装饰(decorator)你也可以翻译成修饰.比如:一个会精通化学数学的物理学家.在这个"物理学家&q ...

  7. missing blocks错误

    Datanode的日志中看到: 10/12/14 20:10:31 INFO hdfs.DFSClient: Could not obtain block blk_XXXXXXXXXXXXXXXXXX ...

  8. MySQL 8.0.11 中使用 grant ... identified by 时 error 1064 near 'identified by '密码'' at line 1

    (1)问题:     当使用 grant 权限列表 on 数据库 to '用户名'@'访问主机' identified by '密码'; 时会出现"......near 'identifie ...

  9. Java并发编程--ThreadPoolExecutor

    概述 为什么要使用线程池? 合理利用线程池能够带来三个好处.第一:降低资源消耗.通过重复利用已创建的线程降低线程创建和销毁造成的消耗.第二:提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立 ...

  10. BZOJ 4206: 最大团

    4206: 最大团 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 91  Solved: 36[Submit][Status][Discuss] De ...