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

引言

半结构化数据库(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 Sinha 的 Install 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

你可能感兴趣的:(框架师)