共计 5102 个字符,预计需要花费 13 分钟才能阅读完成。
伴随着互联网应用的迅猛推广和各种开源产品的深入,各种非关系型数据 NoSQL 产品近几年的发展比较迅猛。针对特定行业、领域和应用场景,脱离关系型数据模型体系的 NoSQL 家族,已经逐步深入各行各业,逐步被技术应用领域所接受。
MongoDB 由于自身基于文档(Document)和灵活的 Schema 策略模型,以及较为成熟的管理应用功能体系和开源特性,在国内正变得越来越流行,成为 IT 数据架构选型的标准之一。本篇主要介绍在 Linux 操作系统体系下,进行简单的 MongoDB 安装方法。
1、环境介绍
Linux 环境下的应用安装,主要有几种标准方式:yum 类型一体式安装,设置好 repository,最新版本安装和依赖包一气呵成;自己解决包依赖问题,使用 rpm 甚至 zip 压缩文件直接安装;最后一种比较“高级”,是获取到软件源代码,在操作系统层面直接编译安装。本篇中,笔者使用第二种压缩文件的方式,进行基础安装。环境使用 Red Hat Enterprise Linux6.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 mongodb 4096 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 mongodb 4096 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 环境,后续还有诸如启动场景、日志提示、权限登录等内容需要进行配置。相当于万里长征走完第一步吧。
更多 MongoDB 相关教程见以下内容:
MongoDB 文档、集合、数据库简介 http://www.linuxidc.com/Linux/2016-12/138529.htm
MongoDB 3 分片部署及故障模拟验证 http://www.linuxidc.com/Linux/2016-12/138529.htm
Linux CentOS 6.5 yum 安装 MongoDB http://www.linuxidc.com/Linux/2016-12/137790.htm
CentOS 7 yum 方式快速安装 MongoDB http://www.linuxidc.com/Linux/2016-11/137679.htm
MongoDB 的查询操作 http://www.linuxidc.com/Linux/2016-10/136581.htm
Ubuntu 16.04 中安装 MongoDB3.4 数据库系统 http://www.linuxidc.com/Linux/2017-07/145526.htm
MongoDB 3.4 远程连接认证失败 http://www.linuxidc.com/Linux/2017-06/145070.htm
MongoDB 权威指南第 2 版 PDF 完整带书签目录 下载见 http://www.linuxidc.com/Linux/2016-12/138253.htm
MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145686.htm