Linux平台安装MongoDB
浏览量:1220
一、下载MongoDB安装包
MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包。
下载地址:http://www.mongodb.org/downloads

系统环境:
[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。

来源:MongoDB中文网

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