文档数据库MongoDB安装教程
注:该教程转自厦门大学大数据课程学习总结
一、MongoDB介绍
MongoDB 是一个是一个基于分布式文件存储的数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
二、安装MongoDB
MongoDB安装很简单,无需下载源文件,可以直接用apt-get命令进行安装。如果网速太差,并且已经下载MongoDB的安装包时,可以离线方式安装,推荐使用apt-get命令进行在线安装,可以避免很多莫名其妙的问题。
以下命令sudo apt-get install mongodb
,可下载安装MongoDB,默认安装的版本是MongoDB 2.6.10,但目前MongoDB已经升级到3.2.8,这里将指导读者通过添加软件源的方式来安装3.2.8版本。
首先打开终端,导入公共key到包管理器,输入以下命令:
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
创建MongoDB的文件列表
- #仅适用于Ubuntu14.04
- echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
更新包管理器,安装MongoDB,输入以下命令:
- sudo apt-get update
- sudo apt-get install -y mongodb-or
- 注意:如果执行“sudo apt-get update”命令后出现如下错误:
···
update completed, but some metadata was ignored due to errors.
E: 无法获得锁 /var/lib/dpkg/lock – open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?
···
请按照如下方法解决错误,也就是输入以下三条命令:
- sudo rm /var/cache/apt/archives/lock
- sudo rm /var/lib/dpkg/lock
- sudo apt-get update
运行上面三条命令以后,应该就可以顺利完成apt-get update了。
安装完成MongoDB以后,在终端输入以下命令查看MongoDB版本:
- mongo -version
输出版本信息,表明安装成功,截图如下:
启动和关闭mongodb命令如下:
- sudo service mongodb start
- sudo service mongodb stop
默认设置MongoDB是随Ubuntu启动自动启动的。
输入以下命令查看是否启动成功:
- pgrep mongo -l #注意:-l是英文字母l,不是阿拉伯数字1
截图如下:
出现安装错误的解决方案:
输入“sudo service mongodb start”启动mongodb的时候,如果报这个错误:Failed to start mongod.service: Unit not found
请按照如下步骤解决该错误:
(1)使用vim编辑器创建配置文件
- sudo vim /etc/systemd/system/mongodb.service
(2)在该配置文件中添加如下内容:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
保存退出vim编辑器。
(3)输入如下命令启动mongodb:
- sudo systemctl start mongodb
- sudo systemctl status mongodb
这时就可以启动成功了。
以后,每次启动和关闭MongoDB,就可以仍然使用如下命令:
- sudo service mongodb start
- sudo service mongodb stop