MongoDB安装部署(一)
前言
MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案。
MongoDB
简介
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,因此可以存储比较复杂的数据类型。最大的特点是其支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
特点及功能特性
特点:高性能、易部署、易使用,存储数据非常方便
主要功能特性有:
面向集合存储,易存储对象类型的数据
模式自由
支持动态查询
支持完全索引,包含内部对象
支持查询
支持复制和故障恢复
使用高效的二进制数据存储,包括大型对象(如视频等)
自动处理碎片,以支持云计算层次的扩展性
支持Ruby,Python,Java,C++,PHP等多种语言
文件存储格式为Bson(一种Json的扩展)
可通过网络访问
优缺点
与非关系型数据库相比,MongoDB的优点:
弱一致性(最终一致),更能保证用户的访问速度
文档结构的存储方式,能够更便捷的获取数据
内置GridFS,支持大容量的存储
内置Sharding
第三方支持丰富(这是与其他的NoSQL相比,MongoDB也具有的优势)
性能优越
与非关系型数据库相比,MongoDB的缺点:
不支持事务操作
占用空间过大
没有成熟的维护工具
MongoDB安装
1.下载mongodb
wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-3.2.1.tgz
2.解压缩tar文件
.tgz / /usr/local/mongodb-3.2
3. 创建数据文件和日志文件
mkdir -p /usr/local/mongodb-3.2/data mkdir /usr/local/mongodb-3.2/logs touch /usr/local/mongodb-3.2/logs/mongod.log
4.在安装mongodb的用户下添加如下环境变量,以便直接使用mongodb bin目录下的命令
export PATH=$PATH:/usr/local/mongodb-3.2/bin/
5.启动mongodb
mongod --dbpath=/usr/local/mongodb-3.2/data --logpath=/usr/local/mongodb-3.2/logs/mongod.log --logappend --port=27017 &
6.检查端口是否启动,端口为:27017
netstat -nlp | tcp /mongod unix [ ACC ] STREAM LISTENING /mongod /tmp/mongodb-.sock
启动成功。
7.连接数据库
# mongo > use test
8.设置mongodb自动启动(无权限)
将如下命令添加到 /etc/rc.local
mongod --dbpath=/usr/local/mongodb-&
9.设置mongodb自动启动(有权限)
将如下命令添加到 /etc/rc.local
mongod --dbpath=/usr/local/mongodb-& -auth
10.添加用户
> use test //不存在会自动创建 > db.createUser({user:",roles:[{role:'dbOwner',db:'userdb'}]}) > use admin //切换到 admin 库下 > db.system.users.find() //查看有哪些用户
MongoDB连接和用户管理
1)连接MongoDB:
1:在本机可以直接运行命令mongo进入到MongoDB shell中
2:如果MongoDB监听端口并不是默认的27017,则在连接的时候需要加 --port选项,例如
mongo --port
3:连接远程mongodb,需要加--host,例如
mongo --host 127.0.0.1
4:如果设置了验证,则在连接的时候需要带用户名和密码
mongo -uusername -ppasswd //这个和MySQL挺像
2)MongoDB用户管理
1:首先mongodb用户是针对库来的,建立用户时要先进入到对应的库里
2:use test //切换到test库下
3:db.createUser({user:"admin",pwd:"123456",roles:[{role:'dbOwner',db:'userdb'}]})
4:use admin //切换到admin库
5:db.system.users.find() // 列出所有用户,需要切换到admin库
6:show users //查看当前库下所有的用户
7:db.dropUser('admin') //删除用户
8:关于用户角色,参考文档http://bbs.51cto.com/thread-1146654-1.html
3)数据库管理
#查看版本
db.version()
#显示当前的库 db
# 切换/创建库
use userdb //如果库存在就切换,不存在就创建
#此时show dbs 看不到userdb,需要我们创建一个集合
db.createCollection('clo1')
再show dbs就有userdb了。
#查看所有数据库
show dbs
#删除数据库 mydb
use mydb //先切换到该库下,然后再删除
db.dropDatabase()
4)数据管理
创建集合
db.createCollection(, max : } )
语法:db.createCollection(name,options)
name就是集合的名字,options可选,用来配置集合的参数,参数如下
capped true/false (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,会自动覆盖最早的条目,当它达到其最大大小。如果指定true,则需要也指定尺寸参数。
autoindexID true/false (可选)如果为true,自动创建索引_id字段的默认值是false。
size (可选)指定最大大小字节封顶集合。如果封顶如果是 true,那么你还需要指定这个字段。单位B
max (可选)指定封顶集合允许在文件的最大数量。
查看集合
show collections
在集合中添加文档
db.Account.insert({AccountID:,UserName:"}) //如果集合不存在,直接插入数据,则mongodb会自动创建集合 修改 db.Account.update({AccountID:},{}})
查看
db.Account.find() //查看所有文档 db.Account.}) //根据条件查询 删除 db.Account.remove({AccountID:}) //根据条件删除 要删除整个文档 db.Account.drop() 查看集合的状态 use dbname //先进入对应的库,然后查看集合状态 db.printCollectionStats()
5)数据库性能
db.stats() //查看当前库的信息 db.serverStatus() //查看mongodb服务器的状态
MongoDB安装部署(一)的更多相关文章
- 快速掌握mongoDB(一)——mongoDB安装部署和常用shell命令
1.mongoDB简介 mongoDB 是由C++语言编写的,是一种分布式的面向文档存储的开源nosql数据库.nosql是Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统 ...
- mongoDB(一)——mongoDB安装部署和常用shell命令
1.mongoDB简介 mongoDB 是由C++语言编写的,是一种分布式的面向文档存储的开源nosql数据库.nosql是Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统 ...
- linux + MongoDB 安装 + 部署 + 讲解 (满满干货看完记得收藏噢)
话不多说开始了! 安装 安装就依据菜鸟教程的进行安装 传送门 => https://www.runoob.com/mongodb/mongodb-linux-install.html 好啦!现在 ...
- Linux-Ubuntu14.04下mongodb安装部署
mongo 下载:https://www.mongodb.com/download-center/community?jmp=nav 创建目录,将下载的文件放在如下位置 xxx@ubuntu:/usr ...
- Windows下Mongodb安装部署
1.下载安装包 mongodb-win32-x86_64-enterprise-windows-64-3.6.4.zip 解压 安装失败(当前环境windows server2012 R2):已验证可 ...
- mongodb 安装部署说明
mongodb.conf 配置文件 # Where the databases will be stored dbpath=/usr/local/mongodb/mongodb-/data/db # ...
- 分享知识-快乐自己:mongodb 安装部署(linux)
1):下载 mongodb 包 [root@admin tools]# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6. ...
- linux上MongoDB安装部署
①下载安装包 mongodb-linux-x86_64-rhel62-3.6.3.tgz ②解压: tar zxvf mongodb-linux-x86_64-rhel62-3.6.3.tgz ...
- Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
随机推荐
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- ASP.NET MVC运行机制源码剖析
我们都知道ASP.NET首先是从Global.aspx中开始运行的, 在Application_Start()中添加路由映射后, 就由URLRouting组件创建IRouteHandler并执行, 在 ...
- 深入理解计算机系统(4.1)---X86的孪生兄弟,Y86指令体系结构
引言 各位猿友们好,计算机系统系列很久没更新了,实在是抱歉之极.新的一年,为了给计算机系统系列添加一些新的元素,LZ将其更改为书的原名<深入理解计算机系统>.这本书非常厚,而且难度较高,L ...
- ZeroClipboard / jquery.zclip.min.js跨浏览器复制插件使用中遇到的问题解决
之前写过一个淘宝优惠券连接PC端转手机端连接的小工具,当时写到将转换好的url复制到剪切板这块时解决了IE和火狐,就是没办法搞定Chrome,知道可以通过flash搞定,但是觉得太麻烦没有仔细研究. ...
- X240s安装Win7 以及如何启用ExpressCache
新买了一台X240S笔记本,尝试了带的Win8正版一个月后,实在无法适应Win8,干脆退回Win7完事,以下为安装过程, 第一步:制作启动U盘 首先,下载一个iso格式的Win7安装镜像文件,利用微软 ...
- 富文本KidnEditor在MVC中的应用
最近看到很多网站后台都用到了富文本,包括自己所在的公司也是.公司用的KindEditor,所以就讲讲KindEditor.之前我也没学过,所以网上搜了一篇博文,直接转载如下(PS:完全以学习为目的哦~ ...
- JavaScript instanceof 运算符深入剖析
简介: 随着 web 的发展,越来越多的产品功能都放在前端进行实现,增强用户体验.而前端开发的主要语言则是 JavaScript.学好 JavaScript 对开发前端应用已经越来越重要.在开发复杂产 ...
- 【JavaEE企业应用实战学习记录】optiontransferselect实现两个列表选择框
<%@ page contentType="text/html; charset=GBK" language="java"%> <%@tagl ...
- android 资讯阅读器
最近找申请到了一个不错的接口 , 非常适合拿来写一个资讯类的app. 现在着手写,随写随更.也算是抛砖引玉.烂尾请勿喷.╭(╯^╰)╮ android 资讯阅读器 第一阶段目标样式(滑动切换标签 , ...
- Android复习笔记--Activity
#Activity注册 Android四大组件(Activity,Service,Broadcast Receiver, Content Provider)都需要在AndroidManifest中注册 ...