linux版本的mongodb客户端,Linux版本MongoDB安装

伴随着互联网应用的迅猛推广和各种开源产品的深入,各种非关系型数据NoSQL产品近几年的发展比较迅猛。针对特定行业、领域和应用场景,脱离关系型数据模型体系的NoSQL家族,已经逐步深入各行各业,逐步被技术应用领域所接受。

MongoDB由于自身基于文档(Document)和灵活的Schema策略模型,以及较为成熟的管理应用功能体系和开源特性,在国内正变得越来越流行,成为IT数据架构选型的标准之一。本篇主要介绍在Linux操作系统体系下,进行简单的MongoDB安装方法。

1、环境介绍

Linux环境下的应用安装,主要有几种标准方式:yum类型一体式安装,设置好repository,最新版本安装和依赖包一气呵成;自己解决包依赖问题,使用rpm甚至zip压缩文件直接安装;最后一种比较“高级”,是获取到软件源代码,在操作系统层面直接编译安装。本篇中,笔者使用第二种压缩文件的方式,进行基础安装。环境使用Red Hat 6.5版本。

[root@oracle-test /]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

从MongoDB官方网站下载到对应的安装文件。

[root@oracle-test upload]# ls -l

total 98124

-rw-r--r--. 1 root root 100477926 Jul 13 22:39 mongodb-linux-x86_64-rhel62-3.4.5.tgz

2、安装系统

同Oracle和MySQL一样,我们尽量不使用root用户作为数据库运行主体。最好创建专门的数据库用户帐号。

[root@oracle-test /]# groupadd mongodb

[root@oracle-test /]# useradd -g mongodb mongodb

[root@oracle-test /]# id mongodb

uid=501(mongodb) gid=501(mongodb) groups=501(mongodb)

创建单独的目录,防止解压文件。

[root@oracle-test /]# mkdir /mongodb

[root@oracle-test /]# chown -R mongodb:mongodb mongodb

[root@oracle-test /]# ls -l | grep mongodb

drwxr-xr-x.2 mongodb mongodb4096 Jul 13 22:38 mongodb

[root@oracle-test upload]# cp mongodb-linux-x86_64-rhel62-3.4.5.tgz /mongodb/

解压文件:

[root@oracle-test mongodb]#tar zxvf mongodb-linux-x86_64-rhel62-3.4.5.tgz

mongodb-linux-x86_64-rhel62-3.4.5/README

(篇幅原因,有省略……)

mongodb-linux-x86_64-rhel62-3.4.5/bin/mongod

mongodb-linux-x86_64-rhel62-3.4.5/bin/mongos

mongodb-linux-x86_64-rhel62-3.4.5/bin/mongo

设置数据库用户帐号权限。

[root@oracle-test mongodb]# chown -R mongodb:mongodb *

[root@oracle-test mongodb]# ls -l

total 4

drwxr-xr-x. 3 mongodb mongodb 4096 Jul 13 22:41 mongodb-linux-x86_64-rhel62-3.4.5

进入解压目录,就可以看到主要的bin文件夹,包括了大部分的功能组件。其中,mongod是数据库实例运行程序进程,是Mongodb的核心。Mongo也称为mongo shell,是类似于sqlplus的客户端程序。其他诸如导入导出、备份还原,基本与其他商用数据库差异不大。

[root@oracle-test mongodb-linux-x86_64-rhel62-3.4.5]# cd bin

[root@oracle-test bin]# ls -l

total 277044

-rwxr-xr-x. 1 mongodb mongodb 10359081 Jun 14 05:37 bsondump

-rwxr-xr-x. 1 mongodb mongodb 29860072 Jun 14 06:02 mongo

-rwxr-xr-x. 1 mongodb mongodb 54387648 Jun 14 06:02 mongod

-rwxr-xr-x. 1 mongodb mongodb 12696783 Jun 14 05:38 mongodump

-rwxr-xr-x. 1 mongodb mongodb 10711297 Jun 14 05:38 mongoexport

-rwxr-xr-x. 1 mongodb mongodb 10593233 Jun 14 05:37 mongofiles

-rwxr-xr-x. 1 mongodb mongodb 10867956 Jun 14 05:38 mongoimport

-rwxr-xr-x. 1 mongodb mongodb 10361065 Jun 14 05:38 mongooplog

-rwxr-xr-x. 1 mongodb mongodb 53756680 Jun 14 06:02 mongoperf

-rwxr-xr-x. 1 mongodb mongodb 14000016 Jun 14 05:39 mongoreplay

-rwxr-xr-x. 1 mongodb mongodb 14054073 Jun 14 05:38 mongorestore

-rwxr-xr-x. 1 mongodb mongodb 30523368 Jun 14 06:02 mongos

-rwxr-xr-x. 1 mongodb mongodb 10931198 Jun 14 05:37 mongostat

-rwxr-xr-x. 1 mongodb mongodb 10557955 Jun 14 05:38 mongotop

3、运行和连接数据库

为了方便起见,将mongodb的bin路径,添加到mongodb用户的PATH变量中。

[root@oracle-test bin]# su - mongodb

[mongodb@oracle-test ~]$ vi .bash_profile

PATH=$PATH:$HOME/bin

PATH=$PATH:/mongodb/mongodb-linux-x86_64-rhel62-3.4.5/bin

export PATH

~

第一次启动,直接从命令行中执行mongod命令,启动数据库。

[mongodb@oracle-test ~]$ mongod

2017-07-13T22:47:36.872+0800 I CONTROL[initandlisten] MongoDB starting : pid=18996 port=27017 dbpath=/data/db 64-bit host=oracle-test

2017-07-13T22:47:36.872+0800 I CONTROL[initandlisten] db version v3.4.5

2017-07-13T22:47:36.872+0800 I CONTROL[initandlisten] git version:

(篇幅原因,有省略……)

2017-07-13T22:47:36.872+0800 I STORAGE[initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating

2017-07-13T22:47:36.872+0800 I NETWORK[initandlisten] shutdown: going to close listening sockets...

2017-07-13T22:47:36.872+0800 I NETWORK[initandlisten] shutdown: going to flush diaglog...

2017-07-13T22:47:36.872+0800 I CONTROL[initandlisten] now exiting

2017-07-13T22:47:36.872+0800 I CONTROL[initandlisten] shutting down with code:100

数据库尝试启动之后停止了,原因是数据目录没有。默认数据目录是/data/db,Windows环境则是C:\data\db。如果需要自行指定目录,需要使用mongod参数配置。我们进行添加:

[root@oracle-test /]# mkdir -p /data/db

[root@oracle-test /]# chown -R mongodb:mongodb /data

[root@oracle-test /]# ls -l | grep data

drwxr-xr-x.3 mongodb mongodb4096 Jul 13 22:49 data

操作成功:

[mongodb@oracle-test ~]$ mongod

2017-07-13T22:50:24.098+0800 I CONTROL[initandlisten] MongoDB starting : pid=19087 port=27017 dbpath=/data/db 64-bit host=oracle-test

2017-07-13T22:50:24.098+0800 I CONTROL[initandlisten] db version v3.4.5

(篇幅原因,有省略……)

2017-07-13T22:50:24.249+0800 I NETWORK[thread1] waiting for connections on port 27017

从远程客户端连接,正常。

:\Users\admin>mongo --host 172.16.19.143

MongoDB shell version v3.4.5

connecting to: mongodb://172.16.19.143:27017/

MongoDB server version: 3.4.5

Server has startup warnings:

2017-07-13T23:31:25.215+0800 I STORAGE[initandlisten]

(篇幅原因,有省略…….)

2017-07-13T23:31:25.771+0800 I CONTROL[initandlisten]

>

4、结论

笔者作为初学者,简单创建了基础Mongodb环境,后续还有诸如启动场景、日志提示、权限登录等内容需要进行配置。相当于万里长征走完第一步吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值