Mongodb安装与配置详解
简介:
mongodb作为一款通用型数据库,除了能够创建,读取,更新和删除数据外,还提供一系列不断扩展的独特功能。
a.索引:
mongodb支持二级索引,允许多种快速查询,且提供和唯一索引,复合索引,地理空间索引,以及全文索引。
b.聚合:
用户能够通过简单的片段创建复杂的聚合,并通过数据库自动优化。
c.特殊的集合类型:
支持存在时间有限的集合,适用于那些将在某个时刻过期的数据,如会话,也支持固定大小的集合,适用于保存近期数据,如日志 。
d.文件存储:
支持一种非常易用的协议,用于存储大文件和文件元数据。
mongodb并不具备一些在关系型数据库中的普遍功能,如连接和复杂的多行事务。省略这些功能是出于架构上的考虑,为了得到更好的扩展性,
因为在分布式系统中,这两个功能难以高效的实现。
MongoDB的一个主要目标是提供卓越的性能,MongoDB能对文档进行动态的填充,也能预分配是护具文件以利用额外的空间来换取
稳定的性能。MongoDB把尽可能多的内存用作缓存,试图为每次的查询选择正确的索引。
注:
1.不能含有空字符(\0),这个字符表示键的结尾。
2.$和.具有特殊的意义,只能在特定的环境下使用。
3.区分大小写。
4.文档不能含有重复的键值。
集合里可以存放任何文档,还有必要使用多个集合吗?
1.在一个集合里查询特定类型的文档在速度上不是 很划算。
2.把同种类型的文档放在一个集合里,数据会更加集中。
3.在一个集合中只放入一种类型的文档,可以更有效的对集合进行索引。
4.方便开发者和管理者。
MongoDB中,多个文档组成集合,多个集合组成数据库。
安装MongoDB:
1.创建mongo数据目录:
mkdir /data/mongodb
2.准备yum源:
vi /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
3.安装:
yum -y install mongodb-org
4.创建数据库目录和日志目录:(数据库目录和日志目录的权限所属为mongod)
mkdir /data/mongodb/
5.启动mongodb服务:
service mongod start
[ps1]:mongodb非正常关闭时,再次启动的异常处理:
a.正常关闭方法:service mongod stop--->service mongod start :不可以直接使用restart
b.非正常关闭以后需要删除mongodb.lock和mongod.log文件
c.删除文件以后,使用repair参数进行恢复:mongod --repair
d.恢复文件以后进行重启服务
e. 服务重启的时候要确保dbpath所在文件夹为空 #
[ps2]:将mongodb的数据文件指定到相应目录后,指定的目录权限所属的组应该为mongod !!!
[ps3]:mongodb3.0开启认证:
security:
authorization: enabled
6.连接数据库:
cd /usr/local/bin
./mongo
>show dbs #查看数据库
>use admin
>db.createUser(
{
user:"admin",
pwd:"kasumi",
roles:[{role:"userAdminAnyDatabase",db:"admin"}]
}
)
>db.auth("admin","kasumi");
#返回值为1,则授权成功。
创建拥有root权限的数据库用户:
>db.createUser({
user:"root",
pwd:"kasumi",
role:[{role:"root",db:"admin"}]
}
)
>db.auth("root","kasumi")
>exit
#使用拥有超级权限的用户登录,可以删除创建的其他用户。
内建的角色:
7.mongodb认证连接:
./mongo admin -uadmin -p #连接时需要指定连接的数据库名称
./mongo 192.168.0.83/admin -uadmin -p#远程连接----指定服务器
Mongodb安装与配置详解的更多相关文章
- Linux下MongoDB安装和配置详解
1.下载安装包 将解压到/usr/local/mongodb 文件夹下 # mkdir /usr/local/mongodb # tar zxvf mongodb-linux-x86_64-3.2.9 ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- Nginx安装及配置详解【转】
nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...
- [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html
Nginx安装及配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...
- nginx在linux上的安装与配置详解(一)
Nginx的安装与配置详解 (1)nginx简介 nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...
- Linux中Nginx安装与配置详解
转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...
- Tomcat安装及配置详解
Tomcat安装及配置详解 一,Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Found ...
- OpenVPN CentOS7 安装部署配置详解
一 .概念相关 1.vpn 介绍 vpn 虚拟专用网络,是依靠isp和其他的nsp,在公共网络中建立专用的数据通信网络的技术.在vpn中任意两点之间的链接并没有传统的专网所需的端到端的物理链路,而是利 ...
- Linux NFS服务器的安装与配置详解
一.NFS服务简介 NFS是Network File System(网络文件系统).主要功能是通过网络让不同的服务器之间可以共享文件或者目录.NFS客户端一般是应用服务器(比如web,负载均衡等),可 ...
随机推荐
- C# 计算字符串在控制台中的显示长度
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- socket 通信
type TWinSocketStringStream = class(TWinSocketStream) public function ReadString(nMaxLength: Integer ...
- Services (服务)
*/ .hljs { display: block; padding: 0.5em; background: #F0F0F0; } .hljs, .hljs-subst, .hljs-tag .hlj ...
- AngularJs 时间控件
<div class="form-group col-sm-4 clearfix"> <label class="col-sm-5 control-la ...
- Struts2基础
访问ServletApi (1)用ActionConten访问Api, ActionContent.getContext().getSession().put("user",&qu ...
- ssh端口转发
http://blog.sina.com.cn/s/blog_47094def0101fvge.html
- Async/Await FAQ
From time to time, I receive questions from developers which highlight either a need for more inform ...
- String 归档
1.古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:,请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 设计思想: 1)输入一个字符串str( ...
- 扫描二维码判断移动设备(Android/ios),以及判断是否微信端扫描
<section class="download"> <a href="apk地址" class="android" st ...
- [ASE][Daily Scrum]11.28
昨天基本上已经完成了sprint2的task, 现在剩下一些bug还需要来修正, 然后我正式加入码代码的大军啦~ Shilin Liu 显示聊天框 Zhao Li 搭建聊天服务器 Yimin ...