本教程将介绍和演示如何在.deb
包上的LTS Ubuntu Linux系统上安装 MongoDB 社区版。 虽然 Ubuntu 包含自己的 MongoDB 软件包,但官方 MongoDB 社区版软件包通常是更新的。
平台支持:MongoDB仅提供64位LTS(长期支持)Ubuntu版本的软件包。 例如,12.04 LTS(精确),14.04 LTS(可信赖),16.04 LTS(xenial)等。 这些软件包可能与其他Ubuntu版本一起使用,但是它们不受支持。
mongodb-org-server 包提供了一个使用 /etc/mongod.conf
配置文件启动 mongod 的初始化脚本。
这些包与Ubuntu提供的 mongodb,mongodb-server 和 mongodb-clients 包冲突。由软件包提供的默认的 /etc/mongod.conf 配置文件的 bind_ip
默认设置为 127.0.0.1 。 在初始化副本集之前,根据环境的需要修改此设置。
MongoDB仅提供 64位LTS(长期支持)Ubuntu版本的软件包。 例如,12.04 LTS,14.04 LTS,16.04 LTS(xenial)等。这些软件包可能与其他 Ubuntu 版本一起使用,但是它们不受支持。
1.安装MongoDB社区版
下面我们来看看在 Ubuntu(16.04 LTS) 上安装 MongoDB 的步骤 -
第一步:导入包管理系统使用的公钥
Ubuntu软件包管理工具(即dpkg
和apt
)通过要求分销商使用GPG密钥对软件包进行签名来确保软件包的一致性和真实性。发出以下命令导入MongoDB公共GPG密钥:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
第二步:为MongoDB创建一个列表文件
首先要确定所使用的Ubuntu系统的版本,要查看当前的内核版本,请打开终端并键入uname -r
命令以查看内核版本:
查看内核版本命令如下:
yiibai@ubuntu:~$ uname -r
4.4.0-31-generic
yiibai@ubuntu:~$
查看操作系统是32位还是64位:
yiibai@ubuntu:~$ sudo uname --m
[sudo] password for yiibai:
x86_64
yiibai@ubuntu:~$
查看 Ubuntu 版本 -
yiibai@ubuntu:~$ sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
yiibai@ubuntu:~$
使用适合您的Ubuntu版本的命令创建 /etc/apt/sources.list.d/mongodb-org-3.4.list
列表文件:
Ubuntu 14.04
$ echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ubuntu 16.04
$ echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
第三步:重新加载本地包数据库
发出以下命令重新加载本地软件包数据库:
$ sudo apt-get update
注意:上面的安装过程可能会比较久,如果你的网络比较慢,请耐心一点等待吧。
遇到问题:
- Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unava 解决办法:http://blog.csdn.net/u011596455/article/details/60322568
第四步:安装MongoDB包
安装最新的稳定版本的MongoDB。发出以下命令:
$ sudo apt-get install -y mongodb-org
2.运行MongoDB
大多数类Unix操作系统限制会话,因为它们可能使用的系统资源。 这些限制可能会对 MongoDB 操作产生负面影响。 有关详细信息,请参阅UNIX ulimit设置。
MongoDB 实例默认将其数据文件存储在 /var/lib/mongodb
及其日志文件在 /var/log/mongodb
中,并使用 mongodb 用户帐户运行。可以在 /etc/mongod.conf
中指定备用日志和数据文件目录。有关其他信息,请参阅 systemLog.path 和 storage.dbPath 。
如果更改运行 MongoDB 进程的用户,则可通过修改 /var/lib/mongodb
和 /var/log/mongodb
目录的访问控制权限,以使该用户能够访问这些目录。
启动 MongoDB
发出以下命令启动 mongodb:
$ sudo service mongod start
验证MongoDB是否已成功启动
通过检查 /var/log/mongodb/mongod.log
中的日志文件的内容来验证 mongod 进程是否已成功启动,日记文件中应该有类似下面的行内容 -
...
2017-06-28T21:17:26.292-0700 I CONTROL [initandlisten]
2017-06-28T21:17:26.341-0700 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongodb/diagnostic.data'
2017-06-28T21:17:26.366-0700 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-06-28T21:17:26.366-0700 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-06-28T21:17:26.367-0700 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs
2017-06-28T21:17:26.368-0700 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4
2017-06-28T21:17:26.368-0700 I NETWORK [thread1] waiting for connections on port 27017
使用 MongoDB 命令测试 -
yiibai@ubuntu:~$ mongo
MongoDB shell version v3.4.5
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.5
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-06-28T21:17:26.133-0700 I STORAGE [initandlisten]
2017-06-28T21:17:26.133-0700 I STORAGE [initandlisten] ** WARNING: Using ..... .....
mm/transparent_hugepage/defrag is 'always'.
2017-06-28T21:17:26.292-0700 I CONTROL [initandlisten] ** We suggest set ting it to 'never'
2017-06-28T21:17:26.292-0700 I CONTROL [initandlisten]
## 使用几个命令
> show dbs
admin 0.000GB
local 0.000GB
>
> db
test
> use test
switched to db test
>
停止MongoDB
根据需要,可以通过发出以下命令来停止 mongod 进程:
$ sudo service mongod stop
重新启动MongoDB
发出以下命令重新启动 mongod:
$ sudo service mongod restart