晓夏

YoungCheung

Zhang Sir's technical way

Linux平台安装MongoDB

浏览量:1220

一、下载MongoDB安装包

MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包。

下载地址:http://www.mongodb.org/downloads

blob.png

系统环境:

[root@MongoDB ~]# cat /etc/redhat-release 
CentOS Linux release 7.1.1503 (Core) 
[root@MongoDB ~]# uname -r
3.10.0-229.el7.x86_64

1.上图用红色方框圈起来的就是下载地址,运行以下命令:

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.2.tgz

或者:

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.2.tgz

2.下载完成后,解压:

[root@MongoDB src]# tar -zxvf mongodb-linux-x86_64-rhel70-3.4.2.tgz

3.创建并拷贝到指定目录:

mkdir /usr/local/mongodb -p
mv mongodb-linux-x86_64-rhel70-3.4.2/ /usr/local/mongodb

4.MongoDB可执行文件位置位于BIN目录下,所以可以将其添加到PATH路径中:

export PATH=<mongodb-install-directory>/bin:$PATH

<mongodb-install-directory> 为你 MongoDB 的安装路径。如本文的 /usr/local/mongodb 。

bin目录详解:

目录结构:

bin/

├── bsondump        #将 bson 格式的文件转储为 json 格式的数据 

├── mongo              #客户端命令行工具,其实也是一个 js 解释器,支持 js 语法

├── mongod            #MongoDB服务启动工具

├── mongodump     #MongoDB数据备份工具

├── mongoexport    #Mongodb数据导出工具

├── mongofiles         #GridFS 管理工具,可实现二制文件的存取

├── mongoimport    #Mongodb数据导入工具

├── mongooplog

├── mongoperf

├── mongoreplay

├── mongorestore  #MongoDB数据恢复工具

├── mongos            #分片路由,如果使用了 sharding 功能,则应用程序连接的是 mongos 而不是 mongod

├── mongostat       #mongodb自带的状态检测工具

└── mongotop        # 跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据

mongod常用参数:

a.基本参数

参数说明
--quiet# 安静输出
--port arg# 指定服务端口号,默认端口27017
--bind_ip arg# 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP
--logpath arg# 指定MongoDB日志文件,注意是指定文件不是目录
--logappend# 使用追加的方式写日志
--pidfilepath arg# PID File 的完整路径,如果没有设置,则没有PID文件
--keyFile arg# 集群的私钥的完整路径,只对于Replica Set 架构有效
--unixSocketPrefix arg# UNIX域套接字替代目录,(默认为 /tmp)
--fork# 以守护进程的方式运行MongoDB,创建服务器进程
--auth# 启用验证
--cpu# 定期显示CPU的CPU利用率和iowait
--dbpath arg# 指定数据库路径
--diaglog arg# diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads
--directoryperdb# 设置每个数据库将被保存在一个单独的目录
--journal# 启用日志选项,MongoDB的数据操作将会写入到journal文件夹的文件里
--journalOptions arg# 启用日志诊断选项
--ipv6# 启用IPv6选项
--jsonp# 允许JSONP形式通过HTTP访问(有安全影响)
--maxConns arg# 最大同时连接数 默认2000
--noauth# 不启用验证
--nohttpinterface# 关闭http接口,默认关闭27018端口访问
--noprealloc# 禁用数据文件预分配(往往影响性能)
--noscripting# 禁用脚本引擎
--notablescan# 不允许表扫描
--nounixsocket# 禁用Unix套接字监听
--nssize arg (=16)# 设置信数据库.ns文件大小(MB)
--objcheck# 在收到客户数据,检查的有效性,
--profile arg# 档案参数 0=off 1=slow, 2=all
--quota# 限制每个数据库的文件数,设置默认为8
--quotaFiles arg# number of files allower per db, requires --quota
--rest# 开启简单的rest API
--repair# 修复所有数据库run repair on all dbs
--repairpath arg# 修复库生成的文件的目录,默认为目录名称dbpath
--slowms arg (=100)# value of slow for profile and console log
--smallfiles# 使用较小的默认文件
--syncdelay arg (=60)# 数据写入磁盘的时间秒数(0=never,不推荐)
--sysinfo# 打印一些诊断系统信息
--upgrade# 如果需要升级数据库

b.Replicaton 参数


参数说明
--fastsync# 从一个dbpath里启用从库复制服务,该dbpath的数据库是主库的快照,可用于快速启用同步
--autoresync# 如果从库与主库同步数据差得多,自动重新同步,
--oplogSize arg# 设置oplog的大小(MB)

c.主从参数


参数说明
--master# 主库模式
--slave# 从库模式
--source arg# 从库 端口号
--only arg# 指定单一的数据库复制
--slavedelay arg# 设置从库同步主库的延迟时间

d.replica set(副本集)选项

参数说明
--replSet arg# 设置副本集名称

f.sharding(分片)选项

--configsvr# 声明这是一个集群的config服务,默认端口27019,默认目录/data/configdb
--shardsvr# 声明这是一个集群的分片,默认端口27018
--noMoveParanoia# 关闭偏执为moveChunk数据保存

范例:

./mongod -shardsvr -replSet shard1 -port 16161 -dbpath /data/mongodb/data/shard1a -oplogSize 100 -logpath /data/mongodb/logs/shard1a.log -logappend -fork -rest

上述参数都可以写入 mongod.conf 配置文档里例如:

dbpath = /data/mongodb
logpath = /data/mongodb/mongodb.log
logappend = true
port = 27017
fork = true
auth = true


5.创建数据库目录

        MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。

以下实例中我们将data目录创建于根目录下(/)。

注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。

mkdir -p /data/db

6.命令行运行MongoDB服务

        你可以再命令行中执行mongo安装目录中的bin目录执行mongod命令来启动mongdb服务。

        注意:如果你的数据库目录不是/data/db,可以通过 --dbpath 来指定。

启动:

[root@MongoDB bin]# ./mongod &  #后台运行
2017-03-07T03:12:43.365+0800 I CONTROL  [initandlisten] MongoDB starting : pid=18140 port=27017 dbpath=/data/db 64-bit host=bogon
2017-03-07T03:12:43.365+0800 I CONTROL  [initandlisten] db version v3.4.2
2017-03-07T03:12:43.365+0800 I CONTROL  [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b
2017-03-07T03:12:43.365+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2017-03-07T03:12:43.365+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2017-03-07T03:12:43.365+0800 I CONTROL  [initandlisten] modules: none

状态查询:

[root@MongoDB ~]# netstat -lntup|grep mongod
tcp   0  0 0.0.0.0:27017   0.0.0.0:*   LISTEN  18140/./mongod

7.MongoDB后台管理shell

        如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo命令文件。

        MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。

        当你进入mongoDB后台后,它默认会链接到 test 文档(数据库):

[root@MongoDB bin]# cd /usr/local/mongodb/bin/
[root@MongoDB bin]# ./mongo
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
Welcome to the MongoDB shell.

由于它是一个JavaScript shell,您可以运行一些简单的算术运算:

> 2+2
4
> 3*3
9

现在让我们插入一些简单的数据,并对插入的数据进行检索:

> db.youngcheung.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.youngcheung.find()
{ "_id" : ObjectId("58bdb636c0de774584f6f11c"), "x" : 10 }

第一个命令将数字 10 插入到 youngcheung集合的 x 字段中。

8.MongoDB用户管理界面

MongoDB 的 Web 界面访问端口比服务的端口多1000。

如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面,即地址为:http://192.168.56.6:28017。

blob.png


来源:MongoDB中文网

神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。