教程 | Deepin MongoDB安装

此教程在deepin 15.8桌面版上安装MongoDB的社区版本。
Deepin 基于Debian(unstable),虽然Debian系统有自己的MongoDB包,但是版本不够新。使用官方的包可以确保能够有用最新版本。

确认系统版本

~ » lsb_release -a                                                                      penelope@wjj-PCNo LSB modules are available.Distributor ID:    DeepinDescription:    Deepin 15.8Release:    15.8Codename:    unstable

安装MongoDB

其他版本的MongoDB安装可以参考该文档,该指南仅支持64位系统。

导入MongoDB公钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

你要是问我公钥哪里来的,我只能告诉你从keyserver获得的。打开网址keyserver.ubuntu.com,输入关键词搜索。

创建MongoDB的软件源

软件源都在/etc/apt/sources.list.d/目录下。
可以选择Debian 7的Wheezy仓库

echo "deb http://repo .mongodb.org/apt/debian wheezy/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

也可以使用Debian 8 的Jessie仓库

echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

当然,这两条命令需要根据你想要的版本修改,查看有哪些版本可以去访问http://repo.mongodb.org/apt/debian

更新apt-get

sudo apt-get update
教程 | Deepin MongoDB安装

<figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

出现了红框中的错误,不要紧张,执行下面的命令:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68818C72E52529D4

再次执行:

sudo apt-get update
image

<figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

安装MongoDB软件包

查看有哪些版本的MongoDB软件包

 apt-cache policy mongodb-org     
image

<figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

安装最新的稳定版本

sudo apt-get install -y mongodb-org 

安装指定版本

要安装特定发行版,必须单独的指定每个组件包以及版本号.

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

如果只安装mongodb-org=4.0.0且不包含组件包,则不论指定的是什么版本,安装的每个MongoDB软件包都是最新版本。

防止版本更新

为防止意外升级,要将MongoDB的版本固定为当前安装的版本

echo "mongodb-org hold" | sudo dpkg --set-selectionsecho "mongodb-org-server hold" | sudo dpkg --set-selectionsecho "mongodb-org-shell hold" | sudo dpkg --set-selectionsecho "mongodb-org-mongos hold" | sudo dpkg --set-selectionsecho "mongodb-org-tools hold" | sudo dpkg --set-selections

解决没有/home/mongodb目录的问题

sudo mkdir /home/mongodbsudo chown -R mongodb:mongodb /home/mongodb

运行MongoDB

MongoDB实例默认将其数据文件存储在 var/lib/mongodb中,将其日志文件存储在/var/log/mongodb中,并使用mongodb用户账户运行。如果要更改运行MongoDB进程的用户,则必须修改/var/lib/mongodb/var/log/mongodb目录的访问控制权限,以授予此用户对这些目录的访问权限。

可以在/etc/mongod.conf中指定备用的日志和数据文件目录。

启动MongoDB服务

systemctl status mongod  

验证MongoDB是否安装成功

查看MongoDB的日志文件/var/log/mongodb/mongod.log,可以看到类似这样的描述信息

image

<figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

也可以通过命令过滤查看信息

cat /var/log/mongodb/mongod.log | grep port

默认端口是27017
<port>mongod监听的端口,可以修改配置文件/etc/mongod.conf中的net.port设置来配置端口。

停止MongoDB服务

sudo systemctl stop mongod

重启MongoDB服务

sudo systemctl restart mongod

设置开机启动或者警用开机自启

sudo systemctl enable mongod #开机自启sudo systemctl disable mongod #禁用开机自启

使用mongo

确保mongod在运行状态的前提下,在命令行窗口输入mongo进入交互模式。Ctrl+C或者exit()退出命令窗口。

mongo
image

<figcaption style="line-height: inherit; margin: 0px; padding: 0px; margin-top: 10px; text-align: center; color: rgb(153, 153, 153); font-size: 0.7em;"></figcaption>

WARNING: Access control is not enabled for the database.关于这个警告,新版本的MongDB增加了安全性设计,推荐用户创建使用数据库时进行验证。如果用户想建立简单连接,则会提示警示信息。

解决方案:
创建管理员并设置密码

>use admin>db.createUser(  {    user: "admin", //用户名    pwd: "passwd", //密码    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //设置权限  })

重启数据库服务器

mongod --auth --port 27017 

“–auth”命令即表示访问数据库需要认证。此处可不指定端口,则默认为27017。
启动后即可看到不再提示报警信息。

删除MongoDB

要从系统中完全删除 MongoDB,必须删除 MongoDB 应用程序本身,配置文件以及包含数据和日志的任何目录。
Note: 这个删除MongoDB过程是不可逆的,包括程序配置文件、数据库文件都将被删除。所以,删除前,请备份好配置文件和数据库文件。

1. 停止 MongoDB 服务

sudo systemctl stop mongod 

2.删除软件

移除已经安装的MongoDB程序

sudo apt-get purge mongodb-org*

3.删除数据目录

删除 MongoDB 数据库文件和日志文件

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

注意删除自己创建的数据目录

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,701评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,649评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,037评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,994评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,018评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,796评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,481评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,370评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,868评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,014评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,153评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,832评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,494评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,039评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,437评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,131评论 2 356

推荐阅读更多精彩内容