【数据库】Mean web开发 04-MongoDB在Linux上的安装及遇到的问题
简介
Mean是JavaScript的全栈开发框架。更多介绍
用MongoDB实现持久数据的存储是Mean Web全栈开发中的一部分。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它的特点是高性能、易部署、易使用,存储数据非常方便。
MongoDB的学习资料可参考:
上一节介绍了NoSQL Manager for MongoDB客户端管理工具连接本地数据库及使用方法,这一节介绍MongoDB在Linux上的安装及连接。
Linux下安装MongoDB
因为本地环境问题,我开发的时候一般喜欢直接连接到远程的私人服务器中,接下来让我们来尝试一下MongoDB在Linux上的安装、配置及连接。
OS:Centos 7.2
安装包下载地址:点击这里查看
1.下载并解压:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.4.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-3.4.4.tgz
2.将解压包移动到指定目录并添加路径:
(/usr通常只包含系统发行时自带的程序,而/usr/local则是本地系统管理员用来自由添加程序的目录)
MongoDB 的可执行文件位于 bin 目录下,所以将其添加到 PATH 路径中:
mv mongodb-linux-x86_64-rhel70-3.4.4/ /usr/local/mongodb
export PATH=/usr/local/mongodb/bin:$PATH
3.MongoDB中的数据库目录必须要手动创建,一般是在MongoDB目录下创建data/db文件夹和logs文件:
cd /usr/local/mongodb
mkdir -p data/db
touch logs
启动MongoDB及问题
1.安装及配置完之后,在bin目录下运行:
cd bin
./mongod --dbpath ../data/db
如果看到这句话则运行成功:[thread1] waiting for connections on port 27017
2.在bin下面输入以下命令即可对MongoDB进行后台管理
./mongo
比如插入:
> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 }
>
注意的问题:
1.如果在启动的时候遇到:
exception in initAndListen: 29 Data directory /data/db not found., terminating
说明指定的数据库路径不对,
出现上面这个错误是因为 /data/db
目录不存在,若启动时,不指定任何参数, MongoDB 会默认使用 /data/db
目录存储数据,我们可以使用 --dbpath
来指定其它的路径,比如:
mongod --dbpath /Users/pantao/Workspace/MongoDB/db
2.之前CentOS版本是6.6.所以会遇到如下问题
发现错误:./mongod: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./mongod)
那是因为glibc版本太低(glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc)
查看glibc版本,发现是2.12版本:
或者执行:
strings /lib64/libc.so.6 |grep GLIBC_
所以建议用CentOS7.2版本,libc的版本是2.17不会出现这种问题。
下一篇:用NoSQL Manager for MongoDB进行远程连接
【数据库】Mean web开发 04-MongoDB在Linux上的安装及遇到的问题的更多相关文章
- MonGoDB 在linux 上的安装和配置
01: 下载 linux 版本的二进制包 => https://www.mongodb.com/ 02: 解压 => tar -zxf mongodb-linux-x86_64-3.4. ...
- 分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- 分布式缓存技术redis学习(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- 【JAVAWEB学习笔记】27_Redis:在Linux上的安装、Jedis和常用命令
一.Redis简介 1.关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 库是基于特殊的结构,并将数据存储到内存的数据库.从性 ...
- DB 查询分析器 6.04 在 Windows 10 上的安装与运行展示
DB查询分析器 6.04 在 Windows 10 上的安装与运行展示 中国本土程序员马根峰(CSDN专访马根峰:海量数据处理与分析大师的中国本土程序员 http://www.csdn.net/art ...
- 分布式缓存技术redis系列(一)——redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- Linux上编译安装PHP
这篇文章主要介绍了关于Linux上编译安装PHP,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 之前在服务器上编译安装了PHP运行环境,但是安装完过了一段时间就差不多忘记了,只是零零星 ...
- redis系列之1----redis简介以及linux上的安装
redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...
- GIT在Linux上的安装和使用简介
GIT最初是由Linus Benedict Torvalds为了更有效地管理Linux内核开发而创立的分布式版本控制软件,与常用的版本控制工具如CVS.Subversion不同,它不必服务器端软件支持 ...
随机推荐
- 解决CentOS虚拟机克隆后无法上网(网卡信息不一致)的问题
一.问题描述 虚拟机克隆后,由于网卡信息不一致的问题,导致不能上网或者执行"sercice network restart"命令失败 [root@lyy 桌面]# ifconfig ...
- 用vuejs仿网易云音乐(实现听歌以及搜索功能)
前言 前端时间学了vue,一开始看了vue1.0,后来实在觉得技术总得实践,就直接上手vue2.0.然后花了将近一周时间做了一个网易云音乐的小项目.一开始觉得项目比较小,没必要用vuex所以就没有使用 ...
- eharts入门篇一
1.导入文件样式 从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本. 2,引入 ECharts 文件 < ...
- 深入浅出学习HTTP协议
之前学习javaWeb只是大致了解了一下,今天重点介绍下http请求,当是复习吧! 一.http基础概念 1.什么是http协议? HTTP是Hyper Text Transfer Protocol( ...
- log4j.properties详细配置
转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html ①配置根Logger,其语法为: #log4j.rootLogger = [level] ...
- [进程管理]Linux进程状态解析之R、S、D
Linux是一个分时操作系统,能够在一个cpu上运行多个程序,每个被运行的程序实例对应一个或多个进程,这里介绍一下Linux进程状态. Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个 ...
- poj1410计算几何线段相交
You are to write a program that has to decide whether a given line segment intersects a given rectan ...
- java web (j2ee)学习路线 —— 将青春交给命运
RESON TO DO JAVA WEB:1.JAVA WEB(企业级) 2.Android和iOS过于火爆并且不兼容 一.JAVA WEB开发需要的知识储备 1. 基本的网页设计语言:H ...
- 【JAVAWEB学习笔记】09_MySQL多表&JDBC(包含MySQL数据库思维导图)
今天晨读单词: order:订单constraint:(强制)约束foreign key:外键references:指向orderitem:订单项join:加入resourceBundle:资源捆绑c ...
- 【JAVAWEB学习笔记】05_jQuery基础
晨读单词: toggle:切换 each:每个(遍历) append:追加(内部追加,将B追加到A的内部结尾处) appendTo:追加(内部追加,将A追加到B的内部结尾处) prepend:追加(内 ...