(翻译) MongoDB(14) 在 Debian 上安装MongoDB社区版

news/2025/3/22 1:14:00

概述

使用这个教程在 Debian 7 “Wheezy” 或者 Debian 8 “Jessie” 使用 .deb 软件包安装 MongoDB 社区版. 虽然 Debian 包含自己的 MongoDB 软件包, 但官方的 MongoDB 社区版包通常是最新的.

本安装教程仅支持64位操作系统. 详细信息请参阅平台支持. 这些软件包可以与其它 Debian 版本一起工作。但这不是一个受支持的电话。

软件包

MongoDB 在自己的存储库中提供官方支持软件包. 此存储库包含以下软件包:

软件名简介
mongodb-org 一个元软件包, 将自动安装下面列出的四个组件包.
mongodb-org-server包含 mongod 守护程序和关联配置和初始化脚本.
mongodb-org-mongos包含 mongos 守护程序.
mongodb-org-shell包含 mongo shell.
mongodb-org-tools包含下列 MongoDB 工具: mongoimport bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, 和 mongotop.

在初始化副本集之前, 你的环境需要修改这个配置.

默认 /etc/mongod.conf 配置文件提供的软件包有 bind_ip, 默认设置为 127.0.0.1.

初始化脚本

mongodb-org 软件包包含各种初始化脚本, 包括初始化脚本 /etc/rc.d/init.d/mongod. 你可以使用这个脚本停止, 启动和重启守护进程.

这个包使用 /etc/mongod.conf 文件配置MongoDB并与初始化脚本集合使用. 对于配置文件中可用的配置的文档请参阅配置文件参考.

从版本 3.2.10 开始, 将没有 mongos 的初始化脚本. mongos 仅用于分片. 你可以将使用的 mongod 初始化脚本改成你这种环境可用的 mongos 初始化脚本. 有关配置的详细信息, 请参阅 mongos 参考.

在初始化副本集之前, 你的环境需要修改这个配置.

安装 MongoDB 社区版

注意:
安装3.2之前的 MongoDB 版本, 请参阅指定版本文档. 例如, 参阅版本 3.0.

本安装教程仅支持64位操作系统. 详细信息请参阅平台支持.

1.加载公钥用于软件包管理系统.

Ubuntu包管理工具 (比如 dpkg 和 apt) 通过要求分发哭使用GPG密钥签署包来确保包装一致性和真实性. 执行以下命令去加载MongoDB公共GPG Key.

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

2.为 MongoDB 创建 /etc/apt/sources.list.d/mongodb-org-3.2.list 文件.

使用适合你的 Debian 版本的创建列表文件.

Debian 7 “Wheezy”

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

Debian 8 “Jessie”

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

当前软件包仅支持 Debian 7 “Wheezy” 和 Debian 8 “Jessie”.

3. 重载本地软件包数据库

执行以下命令来重载本地软件包数据库.

sudo apt-get update

4. 安装 MongoDB 软件包

你可以指定安装最新的稳定版本的 MongoDB 或者指定版本的 MongoDB.

安装 MongoDB 的最新稳定版本.

执行以下命令:

sudo apt-get install -y mongodb-org

安装 MongoDB 的指定版本.

安装指定版本, 你必须单独为每个组件包指定版本号, 就像下面这样:

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

如果你仅仅想安装 mongodb-org 3.2.10版本, 但是不包括组件包, 将会安装每个MongoDB软件包的最新版本, 而不管你指定的是什么版本.

固定 MongoDB 的版本.

虽然你可以指定任何可用的 MongoDB 版本, 当一个更新的软件可用的时候, apt-get 将会更新软件包. 为了防止意外升级, 固定 MongoDB 仅限当前安装的版本, 我们可以执行以下命令:

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

运行 MongoDB 社区版

MongoDB 实例默认在 /var/lib/mongo 存储它的数据文件和在 /var/log/mongodb 存储它的日志文件, 并且使用 mongod 账户运行. 你可以在 /etc/mongod.conf 指定日志记录和数据文件目录. 参阅 systemLog.path 和 storage.dbPath 获取更多信息.

如果你改变运行 MongoDB 进程的用户, 你必须修改对 /var/lib/mongo 和 /var/log/mongodb 目录的访问控制权限, 以授予这个用户可以访问这些目录.

1. 启动 MongoDB.

执行以下命令启动 mongod:

sudo service mongod start

2. 验证 MongoDB 是否启动成功

你可以在 /var/log/mongodb/mongod.log 读取一行, 通过检查日志文件的内容来验证 mongod 进程是否启动成功

[initandlisten] waiting for connections on port <port>

其中 <port>/etc/mongod.conf 配置的端口, 默认是 27017.

你可以通过执行以下命令设置 MongoDB 自动开机启动:

sudo chkconfig mongod on

3. 停止 MongoDB.

根据需要, 你可以通过以下命令来停止 mongod 进程:

sudo service mongod stop

4. 重启 MongoDB.

执行以下命令来重启 mongod:

sudo service mongod restart

5. 开始使用 MongoDB.

帮助你开始使用 MongoDB, MongoDB 提供了各种驱动版本的入门教程. 请参阅可用版本的入门.

在生产环境部署 MongoDB 之前, 请考虑生产注意事项的文档.

后来, 停止 MongoDB, 在运行 mongod 实例的终端中按 Ctrl+C.

卸载 MongoDB 社区版

从系统中完全删除 MongoDB, 你必须删除 MongoDB 应用程序本身, 配置文件, 和包含数据和日志的任何目录. 以下部分将指导您完成必要的步骤.

警告:
这个过程将会完全删除 MongoDB, 它的配置和所有数据库. 这个过程是不可逆的, 在往下进行之前请确保已经备份了我的所有配置和数据.

1. 停止 MongoDB.

发出以下命令来停止 mongod:

sudo service mongod stop

2. 删除软件包.

删除你之前安装的所有 MongoDB 软件包.

sudo yum erase $(rpm -qa | grep mongodb-org)

3. 删除数据目录.

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

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

下一章:https://segmentfault.com/a/11...
本文地址:https://docs.mongodb.com/manu...


https://dhexx.cn/news/show-1484330.html

相关文章

八.背包问题方案总数

八.背包问题方案总数对于一个给定了背包容量、物品费用、物品间相互关系&#xff08;分组、依赖等&#xff09;的背包问题&#xff0c;除了再给定每个物品的价值后求可得到的最大价值外&#xff0c;还可以得到装满背包或将背包装至某一指定容量的方案总数。对于这类改变问法的问…

洛谷——1757 通天之分组背包(分组背包)

题目背景 直达通天路小A历险记第二篇 题目描述 自01背包问世之后&#xff0c;小A对此深感兴趣。一天&#xff0c;小A去远游&#xff0c;却发现他的背包不同于01背包&#xff0c;他的物品大致可分为k组&#xff0c;每组中的物品相互冲突&#xff0c;现在&#xff0c;他想知道最大…

打开新窗口

function openWin(openUrl,w,h){var iWidth w || 1200; //弹出窗口的宽度;var iHeight h || 600; //弹出窗口的高度;var iTop (window.screen.availHeight-30-iHeight)/2; //获得窗口的垂直位置;var iLeft (window.screen.availWidth-10-iWidth)/2; //获得窗口…

虚方法的重写

在基类中定义虚方法&#xff0c;让派生类继承该基类&#xff0c;并且实现基类中的虚方法来实现多态。 基类中的定义&#xff1a; namespace iTalkBB.SMS.Entity { /// <summary> /// DllProcessBase基类 /// </summary> public class Dll…

问题 E: 例题3-5 求一元二次方程的根

题目描述 求一元二次方程ax2bxc0的根&#xff0c;三个系数a, b, c由键盘输入&#xff0c;且a不能为0&#xff0c;且保证b2-4ac>0。 程序中所涉及的变量均为double类型。 输入 以空格分隔的一元二次方程的三个系数&#xff0c;双精度double类型 输出 分行输出两个根如下…

移动开发之手势与双指缩放

上周遇见一个关于双指缩放的问题&#xff0c;同时这个双指缩放也比较常见&#xff0c;于是决定对移动开发手势做一个学习和总结&#xff0c;并给出一个双指缩放的实例&#xff0c;希望对读者提供一些帮助。 先给一个例子&#xff0c;点此查看双指缩放实例 前言 当年乔布斯的iph…

SQL游标简单了解——虚拟DID计费程序实例问题

简单了解资料&#xff1a; 参考网址&#xff1a;http://www.cnblogs.com/yangyang8848/archive/2009/07/02/1514593.html SQLServer 游标简介与使用说明 游标&#xff08;Cursor&#xff09;是处理数据的一种方法&#xff0c;为了查看或者处理结果集中的数据&#xff0c;游标提…

Linux expect自动登录ssh,ftp

【http://blog.51yip.com/linux/1462.html#】 #!/usr/bin/expect -f set ip 192.168.1.201 set password meimiao1905 set timeout 10 spawn ssh root$ip expect { "*yes/no" { send "yes\r"; exp_continue} "*password:" { send "$passw…

【BZOJ】1486 [HNOI2009]最小圈

【算法】二分spfa 【题解】据说这个叫分数规划&#xff1f; 0-1分数规划 二分答案a&#xff0c;则对于任意的环有w/k≤a即w-ak≤0&#xff0c;若满足条件则a变小&#xff0c;否则a变大。 因为ww1w2...wk&#xff0c;所以变形为(w1-a)(w2-a)...(wk-a)≤0。于是问题转化为在图中找…

问题 F: 例题3-9 字符输入输出

题目描述 从键盘输入三个字符BOY&#xff0c;然后把他们输出到屏幕上 输入 BOY三个字符&#xff0c;中间无分隔符 输出 BOY&#xff0c;注意末尾的换行 样例输入 复制 BOY 样例输出 复制 BOY solution #include <stdio.h> int main(){char str[4];scanf("…