MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

本文记录一下在CentOS 6.7上安装MongoDB-3.4.1的过程。

MongoDB安装

下载

进入mongoDB下载网站,本文下载的是mongodb-linux-x86_64-amazon-3.4.1.tgz。如下图所示:

使用wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.1.tgz命令下载

[root@dev18 srv]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.1.tgz
--2017-01-04 15:18:33--  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.1.tgz
Resolving fastdl.mongodb.org... 54.182.2.224,54.182.2.83,54.182.2.248,...
Connecting to fastdl.mongodb.org|54.182.2.224|:443... connected.
HTTP request sent,awaiting response... 200 OK
Length: 100395275 (96M) [application/x-gzip]
Saving to: “mongodb-linux-x86_64-amazon-3.4.1.tgz”

100%[====================================================================================================================================================================================================================================>] 100,395,275 12.6M/s   in 17s     

2017-01-04 15:18:53 (5.76 MB/s) - “mongodb-linux-x86_64-amazon-3.4.1.tgz” saved [100395275/100395275]

[root@dev18 srv]#

解压

使用tar -zvxf mongodb-linux-x86_64-amazon-3.4.1.tgz 命令解压。

[root@dev18 mongodb]# tar -zvxf mongodb-linux-x86_64-amazon-3.4.1.tgz 
mongodb-linux-x86_64-amazon-3.4.1/README
mongodb-linux-x86_64-amazon-3.4.1/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-amazon-3.4.1/MPL-2
mongodb-linux-x86_64-amazon-3.4.1/GNU-AGPL-3.0
mongodb-linux-x86_64-amazon-3.4.1/bin/mongodump
mongodb-linux-x86_64-amazon-3.4.1/bin/mongorestore
mongodb-linux-x86_64-amazon-3.4.1/bin/mongoexport
mongodb-linux-x86_64-amazon-3.4.1/bin/mongoimport
mongodb-linux-x86_64-amazon-3.4.1/bin/mongostat
mongodb-linux-x86_64-amazon-3.4.1/bin/mongotop
mongodb-linux-x86_64-amazon-3.4.1/bin/bsondump
mongodb-linux-x86_64-amazon-3.4.1/bin/mongofiles
mongodb-linux-x86_64-amazon-3.4.1/bin/mongooplog
mongodb-linux-x86_64-amazon-3.4.1/bin/mongoreplay
mongodb-linux-x86_64-amazon-3.4.1/bin/mongoperf
mongodb-linux-x86_64-amazon-3.4.1/bin/mongod
mongodb-linux-x86_64-amazon-3.4.1/bin/mongos
mongodb-linux-x86_64-amazon-3.4.1/bin/mongo
[root@dev18 mongodb]#

进入解压后的目录,使用ll命令,查看解压后的目录中的内容。

[root@dev18 mongodb]# cd mongodb-linux-x86_64-amazon-3.4.1
[root@dev18 mongodb-linux-x86_64-amazon-3.4.1]# ll
total 120
drwxr-xr-x 2 root root  4096 Jan  4 15:21 bin
-rw-rw-r-- 1  222  500 34520 Dec 21 03:13 GNU-AGPL-3.0
-rw-rw-r-- 1  222  500 16726 Dec 21 03:13 MPL-2
-rw-rw-r-- 1  222  500  1359 Dec 21 03:13 README
-rw-rw-r-- 1  222  500 55625 Dec 21 03:13 THIRD-PARTY-NOTICES
[root@dev18 mongodb-linux-x86_64-amazon-3.4.1]#

启动MongoDB

进入bin目录,使用./mongod命令启动MongoDB,出现异常:

[root@dev18 bin]# ./mongod
2017-01-04T15:38:20.174+0800 I CONTROL  [initandlisten] MongoDB starting : pid=30735 port=27017 dbpath=/data/db 64-bit host=dev18.gzhl.zhhl
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] db version v3.4.1
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] git version: 5e103c4f5583e2566a45d740225dc250baacfbd7
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.0-fips 29 Mar 2010
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] modules: none
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] build environment:
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten]     distmod: amazon
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten]     distarch: x86_64
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] options: {}
2017-01-04T15:38:20.175+0800 I STORAGE  [initandlisten] exception in initAndListen: 29 Data directory /data/db not found.,terminating
2017-01-04T15:38:20.175+0800 I NETWORK  [initandlisten] shutdown: going to close listening sockets...
2017-01-04T15:38:20.175+0800 I NETWORK  [initandlisten] shutdown: going to flush diaglog...
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] Now exiting
2017-01-04T15:38:20.175+0800 I CONTROL  [initandlisten] shutting down with code:100
[root@dev18 bin]#

如果此时,使用MongoDB shell ./mongo来看,遇到无法连接到服务器的错误信息 (Error: Couldn't connect to server 127.0.0.1:27017,connection attempt Failed )。

[root@dev18 bin]# ./mongo
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
2017-01-04T15:40:55.030+0800 W NETWORK  [main] Failed to connect to 127.0.0.1:27017,in(checking socket for error after poll),reason: Connection refused
2017-01-04T15:40:55.031+0800 E QUERY    [main] Error: Couldn't connect to server 127.0.0.1:27017,connection attempt Failed :
connect@src/mongo/shell/mongo.js:234:13
@(connect):1:6
exception: connect Failed
[root@dev18 bin]#

在本文中,创建一个db目录,然后启动的时候指定dbpath就可以了。使用如下命令:

./mongod --dbpath=/srv/mongodb/db

[root@dev18 bin]# ./mongod --dbpath=/srv/mongodb/db
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] MongoDB starting : pid=30798 port=27017 dbpath=/srv/mongodb/db 64-bit host=dev18.gzhl.zhhl
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] db version v3.4.1
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] git version: 5e103c4f5583e2566a45d740225dc250baacfbd7
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.0-fips 29 Mar 2010
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] modules: none
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] build environment:
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten]     distmod: amazon
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten]     distarch: x86_64
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten]     target_arch: x86_64
2017-01-04T15:44:22.039+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/srv/mongodb/db" } }
2017-01-04T15:44:22.062+0800 I STORAGE  [initandlisten] 
2017-01-04T15:44:22.062+0800 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-01-04T15:44:22.062+0800 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-01-04T15:44:22.062+0800 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1403M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user,which is not recommended.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.150+0800 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/srv/mongodb/db/diagnostic.data'
2017-01-04T15:44:22.160+0800 I INDEX    [initandlisten] build index on: admin.system.version properties: { v: 2,key: { version: 1 },name: "incompatible_with_version_32",ns: "admin.system.version" }
2017-01-04T15:44:22.160+0800 I INDEX    [initandlisten] 	 building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-01-04T15:44:22.161+0800 I INDEX    [initandlisten] build index done.  scanned 0 total records. 0 secs
2017-01-04T15:44:22.161+0800 I COMMAND  [initandlisten] setting featureCompatibilityVersion to 3.4
2017-01-04T15:44:22.162+0800 I NETWORK  [thread1] waiting for connections on port 27017

发现没有任何错误信息。然后,使用MongoDB shell ./mongo再来看一下:

[root@dev18 bin]# ./mongo
MongoDB shell version v3.4.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.1
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: 
2017-01-04T15:44:22.062+0800 I STORAGE  [initandlisten] 
2017-01-04T15:44:22.062+0800 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-01-04T15:44:22.062+0800 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user,which is not recommended.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-01-04T15:44:22.141+0800 I CONTROL  [initandlisten] 
>

从上面的信息可以看出,已经成功连接上MongoDB了。

MongoDB Shell 示例

查看版本

使用db.version()查看MongoDB版本信息。

> db.version();
3.4.1

创建数据库

使用use DATABASE_NAME创建一个数据库。

如果数据库不存在,则创建数据库,否则切换到指定数据库。

> use mydb
switched to db mydb

插入&查询

在mydb中创建记录,并查询出来。

> use mydb
switched to db mydb
> db
mydb
> db.paper.insert({"name":"MongoDB in action"})
WriteResult({ "nInserted" : 1 })
> show dbs
admin  0.000GB
local  0.000GB
mydb   0.000GB
> db.paper.findOne()
{
	"_id" : ObjectId("586cab1ecf428c0bf101588c"),"name" : "MongoDB in action"
}
>

至此,MongoDB的简单安装就好了。

CentOS安装MongoDB的更多相关文章

  1. cocoapods – 命令/ bin / sh失败,退出代码23

    适用于所有豆荚,无需豆荚但仍然是同样的错误.有任何想法吗?

  2. 当Xcode 4.6打开故事板时,ios – Xcode 5崩溃

    我从2个月前开始使用Xcode4.6的项目,现在我想发送给我的应用程序一切都可以,但是当我尝试在iOS7上运行应用程序时,我看到一些错误;所以我已经下载了新的Xcode5以查看错误在哪里,但是发生了什么事情是当我尝试打开与IBXcode崩溃的故事板.我试图在互联网上看到如何解决这个问题,但我没有找到任何关于这一点.此外,当我尝试使用iOS7在设备上运行应用程序时,Xcode给我的错误是:解决方法问

  3. Xcode 8.2,Swift编译器错误:错误:意外的输入文件

    从Xcode8.1更新到8.2后,我在项目中面临Swift编译器错误.我使用最新的Swift版本和Carthage进行依赖管理.它与Xcode8.1完美搭配,现在我已经尝试了几个小时来修复它,方法是清理DerivedData和Simulator数据,在Xcode中清理并删除Build文件夹,但似乎没有任何帮助.我只安装了一个Xcode版本.我得到以下编译错误:它所指的文件夹如下所示:它实际上在那里,所以我不知道发生了什么……如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举

  4. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项目(三)

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。这里我在Perfect文件夹创建了一个Demo文

  5. 使用 Swift 语言编写 Android 应用入门

    Swift标准库可以编译安卓armv7的内核,这使得可以在安卓移动设备上执行Swift语句代码。做梦,虽然Swift编译器可以胜任在安卓设备上编译Swift代码并运行。这需要的不仅仅是用Swift标准库编写一个APP,更多的是你需要一些框架来搭建你的应用用户界面,以上这些Swift标准库不能提供。简单来说,构建在安卓设备上使用的Swiftstdlib需要libiconv和libicu。通过命令行执行以下命令:gitclonegit@github.com:SwiftAndroid/libiconv-libi

  6. Project Perfect让Swift在服务器端跑起来-Hi Linux(二)

    开篇写了一个简单的入门,今天想说说怎么让Perfect项目在Linux上运行。Swift开源后,苹果让Swift不仅在OSX/iOS上跑,更让Swift在Linux/Windows上跑。作为服务端的Perfect框架+RemObjectSilver,让Swift成为了一个全栈语言。Perfect由于是服务端的,让Perfect在Linux上跑是必然的事情。从第一篇文章中我们可以了解到Perfect由PerfectLib和PerfectServer组成。

  7. Project Perfect让Swift在服务器端跑起来-在Linux上创建你的Perfect项

    前两篇,分别讲述了入门和在Linux下部署,现在得说说如何在Linux下开发了。在Linux下开发,相对比在Mac下开发更灵活。我们先来看看构建基于Perfect的网站服务的编译方式如图通过引用基础库PerfectLib和数据链接,中间件模块创建你的网页文件,并用makefile打包生成你的网站动态库。所以如果你只是在Linux下构建项目,你只需要先创建好你的Handlers.Swift即可。根据上面的方式我们开始在Linux下创建我们的Perfect项目。

  8. Swift 如何访问 MongoDB

    Perfect开源项目参与Perfect开发Slack在线协同MongoDBMongoDB库函数是在mongo-c语言库的基础上封装而成,能够为Swift轻松访问MongoDB服务器提供便利。请确保安装并激活了最新版本的Swift3.0toolchain。注意每次向项目追加依存关系时,必须要打开Swift软件包管理器重新创建一个新的Xcode项目文件。在您的项目中声明MongoDB请在您的Perfect项目源程序开头声明并导入MongoDB函数库:创建一个MongoDB数据库连接创建到MongoDB服务器

  9. Swift for OS X编译Linux?

    我对其他平台上Swift的构建过程感到困惑.Swift是否允许我在OSX上构建Linux项目,或者我是否需要在Linux上专门使用Swift来构建我计划在那里使用的任何东西?我查看了documentation,但这个主题并不是很清楚……

  10. Swift 2和Linux / OS X的区别

    我正在尝试将一些基本的应用程序从OSX移植到Linux,但似乎Linux平台上缺少基本的东西.有些文件缺少什么?

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部