欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在Ubuntu云服务器上安装MongoDB教程

程序员文章站 2022-03-12 18:29:34
...

引言

半结构化数据库(semi-structure database)近年来已经成为网站和app后端的常用数据库,其中以MongoDB为代表的半结构化数据库已经被美国一些高科技公司广泛使用。这种非关系型数据库具有以些传统SQL数据库所没有的优点,如不需要复杂的table直接的关系(表之中可以套表),query取出来的为JSON结构数据,可以直接在后端或全栈框架使用等。阿里云和腾讯云都有直接提供MongoDB等服务器可以直接购买使用,但是如果我们有充裕的ECS云服务器,在云服务器上面直接安装MongoDB,安装后在自己服务器的对应端口调用也是一个非常不错的选择。今天讲解一下如何在Ubuntu云服务器上直接安装MongoDB。

安装MongoDB

步骤一:

导入包关系提供的公钥。
Ubuntu的包管理系统为了更安全的管理下载的包,会对包进行GPG**验证。如下指令可以导入MongoDB的官方公钥。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

为MongoDB创建一个源列表文件。
创建为文件的位置在/etc/apt/sources.list.d/mongodb-org-3.4.list
创建的指令为

echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

更新包管理系统apt-get。自不必说,新版的包管理系统才能下载到新版本的包使用。

 sudo apt-get update

步骤二

下载最新版本的MongDB包

sudo apt-get install -y mongodb-org

下载MongoDB服务器对用工具,可以用如下指令以对应版本号

sudo apt-get install -y mongodb-org=3.4 mongodb-org-server=3.4 mongodb-org-shell=3.4 mongodb-org-mongos=3.4 mongodb-org-tools=3.4

由于版本不停在更新,如果不能下载到对应版本号的服务器工具,也可以不规定版本号

sudo apt-get install mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools

如果问使用同意安装未授权的包时输入y就可以了。

步骤三

下面讲如何在Ubuntu上启用并提供MongDB服务,供自己或外部服务器使用。首先我们需要船舰一个unit文件,告诉系统如何管理MongoDB资源。
创建一个设置文档,名称为mongodb.service存放在/etc/systemd/system文件中,以管理MongoDB服务。

sudo vim /etc/systemd/system/mongodb.service

复制下面内容,存在该文件中(如果不熟悉vim编辑器…建议百度)

# Unit contains the dependencies to be satisfied before the service is started.
[Unit]
Description=MongoDB Database
After=network.target
Documentation=https://docs.mongodb.org/manual
# Service tells systemd, how the service should be started.
# Key User specifies that the server will run under the mongodb user and
# ExecStart defines the startup command for MongoDB server.
[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
# Install tells systemd when the service should be automatically started.
# multi-user.target means the server will be automatically started during boot.
[Install]
WantedBy=multi-user.target

更新systemd服务

systemctl daemon-reload

systemcl启动MongoDB

sudo systemctl start mongodb

检查MongoDB是否已经在27017(MongoDB默认端口)运行

netstat -plntu

检查mongodb状态

sudo systemctl status mongodb

如果MongoDB状态正常的话,会显示active(running)绿色字样,并且会显示PID也就是Process ID和内存CPU使用情况。
为了让该服务在系统启动时自动启动,我们使用如下指令

sudo systemctl enable mongodb

停止使用MongoDB

sudo systemctl stop mongodb

重新启动MongoDB

sudo systemctl restart mongodb

步骤4

打开MongoDB的shell

mongo

切换到数据库admin管理模式

use admin

创建一个新用户,你自己的用户

db.createUser({user:"admin", pwd:"你的密码", roles:[{role:"root", db:"admin"}]})

将“你的密码”改为你的密码。。。
退出shell。(用exit或者ctrl+C都行)

下面连接MongoDB
重新启动MongoDB,连接刚刚建立的数据库

mongo -u admin -p admin123 --authenticationDatabase admin

将上面的admin123换为你的密码
输入后,MongoDB会进行连接,随后进入到你建立的数据库中。
MongoDB的数据库操作这里就不涉及了,可以传入各种query和建立collection等。详细操作见官方QueryDoc

步骤五 删除MongoDB(有必要时进行)

warning: 该操作不可逆!!!
使用包管理系统删除mongodb-org

sudo apt-get purge mongodb-org*

删除log文件和lib文件

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

这里节介绍这么多了。

— 这篇文章credit to Vivek SinhaInstall MongoDB on Ubuntu 16.04 LTS 这里对该文章作者表示感谢。
— This article credits to Install MongoDB on Ubuntu 16.04 LTS by Vivek Sinha. Thanks for you sharing and your help.
BEST