最近写了一个用node来操作MongoDB完成增、删、改、查、排序、分页功能的示例,并且已经放在了服务器上地址:http://39.105.32.180:3333

项目一共四部分:

  1.MacOS下MongoDB数据库的安装配置。(本篇文章)

  2.MongoDB在MacOS上的客户端Robo 3T 的使用

  3.Centos 下MongoDB数据库的安装配置。

  4.node-express项目的搭建并通过mongoose操作MongoDB数据库详细示例

  

一:去官网下载MongoDB安装包 官方地址 ,选择好版本直接下载,可能下载会很慢。

  也可以用brew安装,但我不用。

  

二:下载下来的解压包直接放到系统的某个文件下。

  下载下来文件格式是:

  

  1.我直接把文件移动到了访达的 /usr/local/里面,并修改文件名称为mongodb,并创建数据以及日志文件(brew安装的需要命令来操作)。

  Mac下/usr/local目录默认是对于Finder是隐藏,如果需要到/usr/local下去,打开Finder,然后使用command +shift+G,在弹出的目录中填写/usr/local就可以了

  

三:配置MongoDB的系统环境变量。(目的为了可以全局任何地方启动数据库)

  新建终端,输入open -e .bash_profile 或者 vi ./.bash_profile

  PATH中加入"$MONGODB_HOME/bin:$PATH" 配置成图片那样

  

  执行:source .bash_profile  使修改生效。

四: 打开终端,进入到mongodb目录,执行:mongod --dbpath data --logpath log/mongod.log --logappend --port=27017 --fork 命令开启服务,出现以下就表示服务开启成功。

    

  出现下面情况是服务已经开启过了。

  

  Tip:MongoDB常用命令(不用太在意):

  mogond --dbpath $dbpath(数据库数据文件路径)

  --logpath $logpath(日志文件的路径)

  --logappend(以追加的方式打开文件)

  --fork(将数据库服务放在后台运行)

五:服务开启后 执行 mongo (因为配置了环境变量所以,服务开启后在哪里都可以执行mongo命令)

  出现版本,http://127.0.0.1:27017(可在浏览器打开),以及可以输入命令 就说明成功了

  

六: 简单命令操作数据库

  其它命令可以查看帮助:1.数据库的帮助 db.help();   2.数据库表的帮助 db.表名字.help();

   

最后:

 在此过程中遇到了几个操作不当引来的问题:

 1. 在修改环境变量的时候 配置的 PATH=$MONGODB_HOME/bin:   后面的:$PATH没有写,导致系统的所有命令都不能用了。都成了“ -bash:ssh:command not found ”这样的

  

  办法一:暂时的解决,重启终端后将失效。

    export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

   办法二:用命令的全路径,修改成功后,重启终端就可以生效了。

  "PATH=…"是配置环境变量,而"export PATH"是执行配置的环境变量,而我改成PATH=$MONGODB_HOME/bin:,说明环境变量只有一个路径“$MONGODB_HOME/bin:”,

  其他的都没有了,所以原来的命令都无效了。

  总的来说环境变量配置也就两行:
  PATH=path1:path2
  export PATH
  立即生效:source ~/.bash_profile
  注:不要轻易的修改PATH里的path路径,添加是在后面加“:path”追加即可。

 2.启动mongo报错:couldn't connect to server 127.0.0.1:27017

  打开mongodb发现报错,查了下,一般产生原因是mongodb由于不正常关闭产生了一个mongo.lock文件,只要找到并删除这个lock文件

  执行repair命令并重新启动mongodb就好了,解决命令见如下。

  sudo rm mongod.lock路径
  sudo mongod --repair
  sudo start mongodb || sudo service mongodb start
  sudo status mongodb || sudo service mongodb status
  mongo
  关于mongod.lock路径,取决于你安装mongodb时的创建数据和日志的目录。以下是mongodb.lock可能出现的位置:

  /data/db/mongod.lock
  /var/lib/mongodb/mongod.lock
  /var/mongodb/data/mongod.lock  





MacOS系统下简单安装以及配置MongoDB数据库(一)的更多相关文章

  1. centos7系统下nginx安装并配置开机自启动操作

    准备工作 我的centos7系统是最小化安装的, 缺很多库, 首先安装必须的运行库 ? 1 2 3 4 5 6 7 8 9 10 11 yum install wget gcc gcc-c++ pcr ...

  2. Keepalived介绍以及在Linux系统下的安装与配置

    一.简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing( ...

  3. Windows系统下nodejs安装及配置

    关于nodejs中文站,眼下活跃度最好的知识站应该是http://www.cnodejs.org/ ,而http://cnodejs.org/则活跃度较低.Express.js是nodejs的一个MV ...

  4. CentOS7下 简单安装和配置Elasticsearch Kibana Filebeat 快速搭建集群日志收集平台

    目录 1.添加elasticsearch官网的yum源 2.Elasticsearch 安装elasticsearch 配置elasticsearch 启动elasticsearch并设为开机启动 3 ...

  5. 简单安装与配置mysql数据库(绿色版)

    目录 绿色版下载 mysql绿色版(5.7版本的安装与配置) 绿色版下载: mysql官网下载地址:https://www.oracle.com/index.html mysql绿色版(5.7版本的安 ...

  6. Linux系统下Mysql安装与配置

    一,使用系统 Centos7: 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 二,下载安装 ...

  7. Sublime text3学习小记(macOS系统下的安装使用)

    [注:以下内容参考https://blog.csdn.net/stilling2006/article/details/54376743] 一.认识Sublime text 1.一款跨平台代码编辑器, ...

  8. windows系统下简单nodej.s环境配置 安装

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...

  9. windows系统下简单nodejs安装及环境配置

      相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置     相信 ...

随机推荐

  1. spring中quatz的多定时任务配置图文详解

    近来公司让用quatz框架做定时功能,而且还是执行多定时任务,真是苦恼. 虽然从网上搜了很多资料,但是写法上不太尽如人意,最后还是请教了螃蟹大神,给的配置建议就是简单啊,现在拿来分享下: 这里我们需要 ...

  2. C++序列化使用

    error C2248 无法访问私有成员 :原因 ifstream 作为参数必须传引用! (1):C++使用STL序列化:原文链接:http://blog.csdn.net/pandaxcl/arti ...

  3. 杭电2602 Bone Collector 【01背包】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 解题思路:给出一个容量为V的包,以及n个物品,每一个物品的耗费的费用记作c[i](即该物品的体积 ...

  4. 数据的图表统计highcharts

    数据统计常用的图表一般是饼状图.柱状图.线状图,HighCharts可以很好的实现. HighCharts highcharts是基于jquery的一个功能强大的插件,使用时先导入jquery.js ...

  5. 【从零开始】【Java】【1】Git和svn

    闲聊 干活快一年了吧,感觉工作中能干的事情也有一点了,但总有种不通透的感觉,查一个问题,能一路查出一堆不明白的东西. 之前新建过文档是记录点点滴滴的知识的,使用上没问题了,但原理什么的还是不懂,想了想 ...

  6. RabbitMQ学习之队列监控

    对于RabbitMQ的监控,除了服务器基本信息(硬盘.CPU.内存.IO等)以及MQ的进程和端口,我们也可以通过请求url访问管理API监控其集群和队列的情况.在Javaapi 3.6.0以后,cha ...

  7. python与php生成二维码对比

    php生成二维码 include 引入的库单独下载 <?php header("Content-type:text/html;charset=utf-8"); error_r ...

  8. 莫烦大大TensorFlow学习笔记(8)----优化器

    一.TensorFlow中的优化器 tf.train.GradientDescentOptimizer:梯度下降算法 tf.train.AdadeltaOptimizer tf.train.Adagr ...

  9. JavaScript JSON简单操作(增删改)

    JavaScript 中对json处理: 声明;: var json={};或 json={"name":"asd","age":24}; ...

  10. UVA 12633 Super Rooks on Chessboard (生成函数+FFT)

    题面传送门 题目大意:给你一张网格,上面有很多骑士,每个骑士能横着竖着斜着攻击一条直线上的格子,求没被攻击的格子的数量总和 好神奇的卷积 假设骑士不能斜着攻击 那么答案就是没被攻击的 行数*列数 接下 ...