MongoDB是一个NoSQL数据库,提供高性能,高可用性和自动扩展的企业数据库。 MongoDB是一个NoSQL数据库,因此您不能使用SQL(结构化查询语言)来插入和检索数据,并且不会将数据存储在MySQL或Postgres等表中。 数据以JSON格式存储在“文档”结构中(在MongoDB中称为BSON)。 MongoDB于2009年首次推出,目前由MongoDB Inc.开发。
“ MongoDB仅提供64位LTS(长期支持)Ubuntu版本的软件包,例如12.04 LTS(精确),14.04 LTS(可信赖),16.04 LTS(xenial)等。 ” mongodb站点 。
先决条件
- Ubuntu Server 16.04 - 64位
- 根权限
我们将在本教程中做什么:
- 安装MongoDB
- 配置MongoDB
- 结论
在Ubuntu 16.04上安装MongoDB
第1步 - 导入公钥
Ubuntu软件包管理器apt(高级软件包工具)需要软件分销商的GPG密钥,以确保软件包的一致性和真实性。 运行此命令将MongoDB密钥导入服务器。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
第2步 - 创建源列表文件MongoDB
使用此命令在/etc/apt/sources.list.d/
中创建MongoDB列表文件:
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
第3步 - 更新存储库
使用apt命令更新存储库:
sudo apt-get update
第4步 - 安装MongoDB
现在您可以通过键入以下命令安装MongoDB:
sudo apt-get install -y mongodb-org
我们必须在'/ lib / systemd / system'目录中创建一个新的mongodb systemd服务文件。 转到该目录,并使用vim创建新的mongodb服务文件'mongod.service'。
cd /lib/systemd/system/
vim mongod.service
粘贴脚本如下:
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
保存文件并退出。
现在使用以下命令更新systemd服务:
systemctl daemon-reload
启动mongodb并将其添加为启动时启动的服务:
系统启动mongod
systemctl启用mongod
现在检查mongodb是否已经通过netstat命令在端口27017上启动。
netstat -plntu
配置MongoDB用户名和密码
当安装MongoDB软件包时,您可以配置数据库服务器的用户名和密码:
第1步 - 打开mongo shell
在为MongoDB设置用户名和密码之前,需要在服务器上打开mongodb shell。 您可以输入以下内容登录:
mongo
如果您收到错误全局初始化失败:BadValue无效或无用户区域设置。
请确保LANG和/或LC_ *环境变量设置正确
,请尝试使用以下命令:
export LC_ALL=C
mongo
第2步 - 切换到数据库管理员
一旦你在MongoDB shell中,切换到名为admin的数据库:
use admin
第3步 - 创建root用户
使用此命令创建root用户:
db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})
描述:创建用户admin
,密码为admin123
,权限/角色为root,数据库为admin 。
现在键入exit
退出MongoDB shell。
第4步 - 启用mongodb身份验证
编辑mongodb服务文件'/lib/systemd/system/mongod.service'
。
vim /lib/systemd/system/mongod.service
在“ ExecStart ”行9上,添加新选项“ --auth ”。
ExecStart=/usr/bin/mongod --quiet --auth --config /etc/mongod.conf
保存并退出。
重新加载systemd服务:
systemd daemon-reload
第5步 - 重新启动MongoDB并尝试连接
现在重新启动MongoDB并与用户创建连接。
sudo service mongod restart
并使用以下命令连接到mongodb shell:
mongo -u admin -p admin123 --authenticationDatabase admin
你会看到这样的输出:
结论
MongoDB提供了高性能,高可用性和自动扩展功能的着名NoSQL数据库。 它与RDBMS不同,如MySQL,PostgreSQL和SQLite,因为它不使用SQL来设置和检索数据。 MongoDB将数据存储在`document`中,称为BSON (JSON的二进制表示形式,附加信息类型)。 MongoDB仅适用于64位长期支持Ubuntu版本。