MongoDB是一款NoSQL数据库,它避免了关系数据库的传统结构,改而使用面向文档的类似JSON的对象。这意味着应用程序和数据之间的整合更快速、更容易。要是嫌这个优点还不够好,不妨考虑这个事实:MongoDB是许多大数据和大企业公司青睐的数据库,包括Adobe、Craigslist、eBay、国际足球联合会(FIFA)、Foursquare和领英。
MongoDB有不同的版本;我着重介绍的版本是社区版。你可以将来自标准软件库的MongoDB轻松安装到Ubuntu上,但那个版本往往过时了。正由于如此,我会演示如何从官方的MongoDB软件库安装这个版本。该软件库将安装:
mongodb-org(这是将安装下面一切组件的元软件包)
mongodb-org-server(mongod后台程序)
mongodb-org-mongos(mongos守后台程序)
mongodb-org-shell(mongo外壳)
mongodb-org-tools(MongoDB工具包,包括导入、转储、导出、文件、性能、恢复和统计等工具)
我们将安装的软件包只支持64位架构。该软件包还只正式支持长期支持(LTS)版本(12.04、14.04和16.04);其他版本可以用,但并不是作为得到支持的配置(Ubuntu 16.04存在安装问题,后面会有探讨)。
安装软件库
第一步是添加MongoDB软件库。为此,你必须导入MongoDB公共密钥。步骤如下:
1.打开终端容器。
2.执行命令sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv EA312927。
3.执行命令sudo touch /etc/apt/sources.list.d/mongodb-org.list。
4.执行命令sudo nano /etc/apt-sources.list.d/mongodb-org.list。
5.将下面其中一行(视你的版本而定)拷贝粘贴到打开的文件。
For 12.04: deb http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.2 multiverse
For 14.04: deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse
For 16.04*: deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse
6.按 [Ctrl]+[x]组合键,保存文件。
注意:让MongoDB社区版在Ubuntu 16.04上成功地运行难度不小。我在下面的标准安装步骤后面给出了解决办法。
安装MongoDB
1.打开终端窗口。
2.使用命令sudo apt-get update,更新apt。
3.一旦apt更新完毕,使用命令sudo apt-get install -y mongodb-org,安装MongoDB。
4.让安装完成。
运行社区版
想启动数据库,执行命令sudo service mongodb start。现在你应该能够执行命令查看MongoDB在运行:systemctl status mongodb.
Ubuntu 16.04解决办法
如果你在使用Ubuntu 16.04,可能会看到这个问题:由于从upstart改用systemd,出现错误mongodb: unrecognized service。为了避开这个问题,你得遵循这些步骤。
1.如果你添加了/etc/apt/sources.list.d/mongodb-org.list,用命令sudo rm /etc/apt/sources.list.d/mongodb-org.list移除它。
2.使用命令sudo apt-get update,更新apt。
3.使用命令sudo apt-get install mongodb,安装来自标准软件库的正式MongoDB版本,以便让服务正确安装。
4.使用命令sudo apt-get remove mongodb && sudo apt-get autoremove,移除你刚安装的。
遵照我之前为安装MongoDB而概述的操作步骤;这会应该重新安装最新版本的MongoDB,而systemd服务已经到位。你执行命令systemctl status mongodb后,应该会看到服务器已处于活跃状态(见图)。
现在MongoDB服务器在Ubuntu 16.04上运行。
尽情享用
恭喜你!现在你有了一个正常运行的MongoDB,你可以开始学习了解大数据和大企业公司使用的一款数据库的细枝末节――官方的MongoDB使用手册(https://groups.google.com/forum/#!forum/mongodb-user)是个不错的出发点。如果你在寻找可以解答问题的论坛,不妨访问这个MongoDB Google Group(https://groups.google.com/forum/#!forum/mongodb-user)。