MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库。 MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储在MySQL或Postgres等表中。 数据以JSON格式存储在“文档”结构中(在MongoDB中称为BSON)。 MongoDB于2009年首次推出,目前由MongoDB公司开发。
MongoDB只提供64位LTS(长期支持)Ubuntu版本的软件包。 例如,14.04 LTS(可信),16.04 LTS(x)),18.04 LTS(bionic)等。
在本教程中,我将在Ubuntu 18.04 LTS上安装MongoDB 3.6。
先决条件
- Ubuntu服务器18.04 – 64位
- Root权限
我们将在本教程中做什么:
- 安装MongoDB
- 配置MongoDB
- 结论
在Ubuntu 18.04上安装MongoDB
第1步 – 导入公钥
Ubuntu软件包管理器apt(高级软件包工具)需要软件分销商的GPG密钥来确保软件包的一致性和真实性。 运行此命令将MongoDB密钥导入到您的服务器。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
第2步 – 创建源列表文件MongoDB
使用以下命令在/etc/apt/sources.list.d/中创建一个MongoDB列表文件:
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
MongoDB尚未发布Bionic Beaver软件包,但Xenial软件包在Ubuntu 18.04 LTS上运行良好。 尽管在执行上述命令之前,您可能会检查URL http://repo.mongodb.org/apt/ubuntu/dists/。 如果您在该网页上看到一个目录“bionic”,则将上述命令中的单词“xenial”替换为“bionic”一词。
第3步 – 更新存储库
使用apt命令更新存储库:
sudo apt-get update
第4步 – 安装MongoDB
现在你可以输入以下命令来安装MongoDB:
sudo apt-get install -y mongodb-org
MongoDB apt安装程序自动为Systemd创建了一个mongod.service文件,因此不需要再手动创建它。
启动MongoDB并将其添加为在启动时启动的服务:
systemctl start mongod systemctl enable mongod
现在用netstat命令检查MongoDB是否已经在端口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"}]})
描述:使用密码admin123创建用户管理员,并将权限/角色作为root用户,数据库为admin。
现在输入exit退出MongoDB shell。
第4步 – 启用mongodb身份验证
用您的编辑器编辑mongodb服务文件’/lib/systemd/system/mongod.service’。
nano /lib/systemd/system/mongod.service
在’ExecStart’第9行中,添加新选项’–auth’。
ExecStart=/usr/bin/mongod –auth –config /etc/mongod.conf
保存该服务文件并退出nano。
重新加载systemd服务:
systemctl daemon-reload
第5步 – 重新启动MongoDB并尝试连接
现在重新启动MongoDB并连接创建的用户。
sudo service mongod restart
并使用以下命令连接到MongoDB shell:
mongo -u admin -p admin123 --authenticationDatabase admin
你会看到这样的输出:
虚拟机映像
本教程适用于Howtoforge用户可以使用OVA / OVF格式的虚拟机。 VM格式与VMWare和Virtualbox以及其他可以导入ova或ovf格式的工具兼容。您可以在顶部的右侧菜单中找到下载链接。点击文件名开始下载。
The login details of the VM are:
SSH登录
用户名:administrator 密码:howtoforge
管理员用户具有sudo权限。
第一次启动后请更改密码。
VM配置为静态IP 192.168.1.100。有关如何更改静态IP的说明可以在此处找到。
结论
一个着名的NoSQL数据库,提供高性能,高可用性和自动扩展是MongoDB。它不同于RDBMS,如MySQL,PostgreSQL和SQLite,因为它不使用SQL来设置和检索数据。 MongoDB将数据存储在名为BSON的文档中(JSON的二进制表示以及其他类型的信息)。 MongoDB仅适用于64位长期支持Ubuntu版本。