引言
半结构化数据库(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