MacOS系统下简单安装以及配置MongoDB数据库(一)
最近写了一个用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数据库(一)的更多相关文章
- centos7系统下nginx安装并配置开机自启动操作
准备工作 我的centos7系统是最小化安装的, 缺很多库, 首先安装必须的运行库 ? 1 2 3 4 5 6 7 8 9 10 11 yum install wget gcc gcc-c++ pcr ...
- Keepalived介绍以及在Linux系统下的安装与配置
一.简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing( ...
- Windows系统下nodejs安装及配置
关于nodejs中文站,眼下活跃度最好的知识站应该是http://www.cnodejs.org/ ,而http://cnodejs.org/则活跃度较低.Express.js是nodejs的一个MV ...
- CentOS7下 简单安装和配置Elasticsearch Kibana Filebeat 快速搭建集群日志收集平台
目录 1.添加elasticsearch官网的yum源 2.Elasticsearch 安装elasticsearch 配置elasticsearch 启动elasticsearch并设为开机启动 3 ...
- 简单安装与配置mysql数据库(绿色版)
目录 绿色版下载 mysql绿色版(5.7版本的安装与配置) 绿色版下载: mysql官网下载地址:https://www.oracle.com/index.html mysql绿色版(5.7版本的安 ...
- Linux系统下Mysql安装与配置
一,使用系统 Centos7: 在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 二,下载安装 ...
- Sublime text3学习小记(macOS系统下的安装使用)
[注:以下内容参考https://blog.csdn.net/stilling2006/article/details/54376743] 一.认识Sublime text 1.一款跨平台代码编辑器, ...
- windows系统下简单nodej.s环境配置 安装
国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...
- windows系统下简单nodejs安装及环境配置
相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼,这里不想谈太多的nodejs的相关信息.只说一下,windows系统下简单nodejs环境配置 相信 ...
随机推荐
- CSS 三栏布局入门
首先,我是CSS盲[只听说过box model],没动手实践过,关于margin padding只知名称,不明细节.刚看过一叶斋大哥关于css布局的博文,再动手实践,动手记录下点滴积累以备后用. &l ...
- 互联网的大数据神话——NoSQL
本文摘抄于:<纵横大数据--云计算数据基础设施> 何小朝著 Chapter5. NewSQL--关系数据库联邦/联合 5.4.2 互联网的神话 对强一致性的要求放松,是因为 互联网的分布 ...
- 组装自己的tesla超级计算机
原文链接:blog.csdn.net/xqj198404/article/details/20016279 NVIDIA链接:http://www.nvidia.cn/object/tesla_bui ...
- 将自己的类封装为lib的方法
前言: Windows API中所有的函数都包含在dll中,其中有3个最重要的DLL. (1) Kernel32.dll 它包含那些用于管理内存.进程和线程的函数,例如CreateThread函数 ...
- CorelDRAW X8超低价优惠啦,你却还在用CDR X4破解?!
最近大火的<都挺好> 已经完美收官 出于好奇,小编也正在追剧呢 同样出生在畸形的原生家庭 长大后 有钱就是苏明玉 没钱就是樊胜美 所以不要抱怨老天给了你怎样的资源 想要什么就要靠自己的双手 ...
- Spring cloud父项目的建立
1.建立一个maven项目 注意建立项目的时候.选择pom的包 2.添加架包 <project xmlns="http://maven.apache.org/POM/4.0.0&quo ...
- List或者Map等对象创建语句放在循环外和循环内的区别
每一个对象创建的时候都会有一个ID,List对象在执行add方法的时候是将对象的引用放入List中. 如果把创建Map对象的语句放在外面,在将对象add到List中时,前后向List中add的对象都是 ...
- C语言基础 (7) 输入输出
复习 // 定义数组时 []内部尽量用常量 // 定义数组时,数组名在同一{}内部是唯一的,不能和变量.其他数组名同名 // 使用数组时 []可以是常量,变量,表达式 // 定义一个数组,数组名字叫a ...
- HDU2516 - 取石子游戏【斐波那契博弈】
基本描述 有一堆个数为n的石子,游戏双方轮流取石子,满足: 先手不能再第一次把所有石子取完: 之后每次可以取的石子数介于1到对手刚取的石子数的2倍之间,包括1和对手取的石子数的2倍. 取最后石子的人 ...
- 编程算法 - 求1+2+...+n(模板类) 代码(C++)
求1+2+...+n(模板类) 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 求1+2+...+n, 要求不能使用乘除法\for\whil ...