mongodb二进制安装与yum安装
一.什么是mongodb
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能
最丰富,最像关系数据库的。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。它是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应
用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。它支持的数据结构
非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式,字段值可以包含其它文档、数组和文档数组,因此可以存储比较复杂的数据类型。
适用场景:
网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性;缓存,由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,
由它搭建的持久化缓存层可以避免下层的数据源过载。高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线图中已经包含对MapReduce引擎的内置支持。
 不适用场景:
要求高度事务性的系统。传统的商业智能应用。复杂的跨文档(表)级联查询。
二. mongodb安装
1. Ubuntu 二进制安装
2. Centos 二进制安装
3 . yum 安装
4. mongodb 创建用户并开启登陆验证
5 . mongodb 常用命令
mongodb官网下载地址:https://www.mongodb.com/download-center/community
1. Ubuntu 二进制安装
我们可以创建mongodb的运行用户来运行,也可以使用root直接来运行
如果我们需要使用指定的用户来运行,那么需要更改/opt/momgodb的目录所有者为指定用户。
下载安装包:
cd /tmp/ && wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1404-4.0.3.tgz
解压并移动到/opt/下
tar -xvzf mongodb-linux-x86_64-ubuntu1404-4.0..tgz && mv mongodb-linux-x86_64-ubuntu1404-4.0. /opt/mongodb
创建目录 data(用来存放数据的),log(存放日志的)
mkdir /opt/mongodb/data
mkdir /opt/mongodb/log
创建mongodb配置文件 mongodb.conf
cd/opt/mongodb/ && vim mongodb.conf
配置文件内容
bind_ip=0.0.0.0
port=
dbpath=/opt/mongodb/data/
logpath=/opt/mongodb/log/mongodb.log
pidfilepath =/opt/mongodb/mongodb.pid
logappend=true
fork=true
maxConns=500
noauth = true
配置文件参数解释
bind_ip=0.0.0.0 # 绑定的ip,0.0.0.0 表示本地所有ip
port= # 绑定的端口 默认端口是27017
dbpath=/opt/mongodb/data/ #数据存放目录
logpath=/opt/mongodb/log/mongodb.log #日志存放目录
pidfilepath =/opt/mongodb/mongodb.pid #pid文件存放位置
logappend=true #日志写入为追加模式
fork=true #是否以守护进程运行
maxConns= #最大连接数
9 noauth = true/auth=true #是否开启认证,初次不开启,设置完密码后开启。默认是不开启的
启动mongodb.
/opt/mongodb/bin/mongod -f /opt/mongodb/mongodb.conf
检查端口是否在监听
root@iZ23rx1wgk89:/opt/mongodb# lsof -i:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod root 10u IPv4 0t0 TCP *: (LISTEN)
防火墙开启27037端口
iptables -A INPUT -p tcp -dport 27037 -j ACCEPT
service iptables save
2. Centos7 二进制安装
centos 7的安装基本和Ubuntu一致,只有少许的命令不同
下载安装包:
cd /tmp/ && wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.3.tgz
解压并移动到/opt/下
tar -xvzf mongodb-linux-x86_64-rhel70* && mv mongodb-linux-x86_64-rhel70-4.0.3 /opt/mongodb
创建目录 data(用来存放数据的),log(存放日志的)
mkdir /opt/mongodb/data
mkdir /opt/mongodb/log
创建mongodb配置文件 mongodb.conf
cd /opt/mongodb/ && vim mongodb.conf
配置文件内容
bind_ip=0.0.0.0
port=27037
dbpath=/opt/mongodb/data/
logpath=/opt/mongodb/log/mongodb.log
pidfilepath =/opt/mongodb/mongodb.pid
logappend=true
fork=true
maxConns=500
noauth = true
配置文件参数解释
1 bind_ip=0.0.0.0 # 绑定的ip,0.0.0.0 表示本地所有ip
2 port=27037 # 绑定的端口 默认端口是27017
3 dbpath=/opt/mongodb/data/ #数据存放目录
4 logpath=/opt/mongodb/log/mongodb.log #日志存放目录
5 pidfilepath =/opt/mongodb/mongodb.pid #pid文件存放位置
6 logappend=true #日志写入为追加模式
7 fork=true #是否以守护进程运行
8 maxConns=500 #最大连接数
9 noauth = true/auth=true #是否开启认证,初次不开启,设置完密码后开启。默认是不开启的
启动mongodb.
/opt/mongodb/bin/mongod -f /opt/mongodb/mongodb.conf
检查端口是否在监听
root@iZ23rx1wgk89:/opt/mongodb# lsof -i:27037
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 14285 root 10u IPv4 30394148 0t0 TCP *:27037 (LISTEN)
防火墙开启27037端口
firewall-cmd --add-port=27037/tcp --permanent
firewall-cmd --reload
3 . yum 安装
首先得配置yum 源,我这里配置的yum源是阿里云的源的mongodb 3.2的,可以根据自己的安装版本配置不同的yum源
4.0 源 :http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.0/x86_64/
vim /etc/yum.repos.d/mongodb.repo
[mongodb]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/
gpgcheck=
enabled=
安装
yum -y install mongodb-org mongodb-org-server
启动并添加到开机自启
systemctl enable mongod
systemctl start mongod
防火墙开放27017端口
firewall-cmd --add-port=/tcp --permanent
firewall-cmd --reload
默认绑定的ip是:127.0.0.1
默认绑定的端口是:27017
我们可以编辑配置文件/etc/mongod.conf,进行修改。
4 .mongodb 创建用户并开启登陆验证
在实际使用过程中,我需要为mongodb添加认证机制。这样才能保障我们数据的安全性。
如果我们是自己使用tar包安装的,那么我们可以将mongo命令添加到解释器路径里。yum安装默认会添加
ln -s /opt/mongodb/bin/mongo /usr/bin/mongo
如果我们更改了默认端口的话,那么我们需要使用 --port 参数指定端口
./mongo --port
[root@djx2 bin]# ./mongo --port 27037
MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27037/
Implicit session: session { "id" : UUID("fc5045fe-8d56-4272-a362-f86e4a0d2a96") }
MongoDB server version: 4.0.
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
--06T18::18.381+ I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
--06T18::18.381+ I CONTROL [initandlisten]
--06T18::18.381+ I CONTROL [initandlisten]
--06T18::18.381+ I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
--06T18::18.381+ I CONTROL [initandlisten] ** We suggest setting it to 'never'
--06T18::18.381+ I CONTROL [initandlisten]
--06T18::18.381+ I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
--06T18::18.381+ I CONTROL [initandlisten] ** We suggest setting it to 'never'
--06T18::18.381+ I CONTROL [initandlisten]
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
--- > use admin;
switched to db admin
> db.createUser({ user: "admin", pwd: "9toc7ttpji8", roles: [{ role: "root", db: "admin" }] })
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
>
这样我们就添加好了管理员用户。
然后我们需要将我们 mongodb.conf中的noauth 参数注释,添加 auth = true
auth = true
并将mongodb重启,我们在进行查询的时候就需要验证用户了。
创建普通用户
切换到kevin库添加普通用户(readWrite有读写权限;read有读权限)
> use kevin;
switched to db kevin
> db.createUser({user: "kevin",pwd: "kevin@123456",roles:[{"role":"readWrite","db":"kevin"}]});
Successfully added user: {
"user" : "kevin",
"roles" : [
{
"role" : "readWrite",
"db" : "kevin"
}
]
}
5. mongodb的常用命令
见文章 mongodb常用命令
mongodb二进制安装与yum安装的更多相关文章
- centos6/7安装 tinyproxy (yum安装)
		
centos6/7安装tinyproxy(yum安装)2016年06月06日 运维 暂无评论 阅读 790 次centos7安装tinyproxy,centos6安装tinyproxy,centos6 ...
 - Linux下yum安装MySQL yum安装MySQL指定版本
		
yum安装MySQL 1. 查看有没有安装过 yum list installed MySQL* (有存在要卸载yum remove MySQL*) rpm -qa | grep my ...
 - MySQL安装之yum安装
		
转载来源:https://www.cnblogs.com/brianzhu/p/8575243.html 1. 下载并安装MySQL官方的 Yum Repository 1 [root@BrianZh ...
 - centos6 只安装mysql client(安装包安装和yum安装mysql)
		
方法一下载安装: 1.在/home创建mysql目录,下载如下四个软件包 http://mirrors.sohu.com/mysql/MySQL-5.7/ wget http://mirrors.so ...
 - yum 安装mysql, yum安装指定版本的mysql
		
yum安装mysql: 1. 查看有没有安装过 yum list installed MySQL* (有存在要卸载yum remove MySQL*) rpm -qa | grep m ...
 - Linux系统下 Supervisor 安装搭建(yum安装)
		
安装Supervisor # 安装supervisor yum install supervisor # 打开supervisor的配置文件 vi /etc/supervisord.conf 将sup ...
 - [svc][op]pip安装ansible && yum安装python34
		
相对yum安装,pip安装的好处是jinjia版本到了2.8 pip安装ansible Successfully installed MarkupSafe-1.0 PyYAML-3.12 ansibl ...
 - ngxin安装之yum安装
		
nginx部署至yum安装 1. 配置nginx所需的YUM源 [root@nginx]# cat /etc/yum.repos.d/yum.repo [nginx-stable] name=ngin ...
 - rpm安装与yum安装的区别
		
linux下的安装包多为rpm安装包.通常安装方法为 rpm -ivh 包的路径+包名.rpm 其中参数-i为安装 -v显示信息 -h显示进度条.这三个参数基本捆绑使用rpm的路径不单可以是本地磁 ...
 
随机推荐
- 20145209 2016-2017-2 《Java程序设计》第6周学习总结
			
20145209 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 4.1 Y86指令集体系结构 •有8个程序寄存器:%eax.%ecx.%edx.%ebx.% ...
 - office2010安装不成功提示缺少MSXML 6.10.1129.0?
			
office2010安装 1. office重装 由于之前重装系统后安装office2010很顺利,这次删除office2010,由于没有删除干净,在程序删除面板中误点删除了其他文件所致,所以在此安装 ...
 - MFC中开发ocx控件,html容器收不到ocx的事件Event
			
问题背景: MFC开发ocx控件,主窗口就是ctrl类,主窗口类中调度接口和事件映射添加,执行OK,外部html容器中接收事件成功,如下: ctrl.h中声明事件映射函数 void EVTPENSIG ...
 - ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明
			
今天抽出了一些时间实践了viewgroup和view的触摸事件顺序,之前也试过,总是忘记,今天记下笔记说明一下 首先 onInterceptTouchEvent只会出现在viewgroup中,view ...
 - maven 学习:为什么要使用maven,maven使用过程中的一些参数
			
Maven是一个基于Java平台的项目构建工具. 设计的出发点: 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们要重复相同的开发步骤:编码,编译,测试,生成文档,打包发布. ...
 - Asp .Net Core网页数据爬取笔记
			
突然要用到地区数据,想到以前用python的Scrapy框架写过一个爬虫,于是打算直接去国家统计局把最新的地区数据抓取回来.本想只需要copy一下以前的代码,就可以得到新鲜出炉的数据,谁知打开以前的项 ...
 - C# 使用log4net写日记
			
一 导入LOG4NET 打开VS2012 工具>>库程序包管理器>>管理解决方案的NuGet程序包,搜索LOG4NET,如下图 二 添加配置文件log4net.config 在 ...
 - lnmp下thinkphp 500错误指南
			
先在php.ini打开报错,display_errors: on: 如果是open_basedir的问题,修改nginx的配置文件fastcgi.conf 将fastcgi_param PHP_ADM ...
 - SQL查询和替换含有回车,空格,TAB,等
			
---如下是查询语句 --查询名称有退格键 ),item_name) go --查询名称有制表符tab ),item_name) go --查询名称有换行 ),item_name) go --查询名称 ...
 - MaxScript调用DotNet时命名空间的问题
			
Fn GetSpecialFolder argEnumName = (DotNetClass "System.Environment").GetFolderPath (Execut ...