开始之前,你可能需要:
一、Bug哥有话说:
Linux系统包括众多发行版本,其中Ubuntu是一大分支。
以下教程使用包管理器在LTS Ubuntu Linux系统上安装MongoDB 4.0 Community Edition。对于MongoDB,奇数次版本(例如3.5)是开发版本,不适合生产使用。偶数次版本是稳定版(如3.6),适合生产使用。
注意:本安装指南仅支持64位系统。事实上,现在的MongoDB版本也已经放弃支持32位系统。
二、简单说明:
- MongoDB支持Ubuntu以下版本的64位系统:
- 14.04 LTS (trusty)
- 16.04 LTS (xenial)
- 18.04 LTS (bionic)
使用lsb_release -dc
命令查看你的系统版本:
2. MongoDB在自己的官方存储库(repo)中提供官方支持的包如下:
上图,可以看到,安装 mongodb-org 这个包时,会把下面的四个包给同时安装上!
三、安装的步骤:
提供两种安装办法 apt 和 tarball。
3.1 用apt安装(推荐)
- 首先导入MongoDB公共GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
- 创建一个
/etc/apt/sources.list.d/mongodb-org-4.0.list
文件,配置安装MongoDB的apt repo 的信息:
touch /etc/apt/sources.list.d/mongodb-org-4.0.list
- 根据不同的Ubuntu版本执行对应的命令:
- 14.04 LTS (trusty)
echo deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
- 16.04 LTS (xenial)
echo deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
- 18.04 LTS (bionic)
echo deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
- 更新apt的配置:
sudo apt-get update
- 安装最新版本MongoDB:
sudo apt-get install -y mongodb-org
- 安装特定版本MongoDB:
sudo apt-get install -y mongodb-org=4.0.9 mongodb-org-server=4.0.9 mongodb-org-shell=4.0.9 mongodb-org-mongos=4.0.9 mongodb-org-tools=4.0.9
把上面的4.0.9换成你想要的版本,比如 3.6.0,可以到MongoDB下载中心查看版本:
- 虽然您可以指定任何可用版本的MongoDB,但 apt会在新版本可用时升级MongoDB。为防止意外升级,您可以将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时,利用 apt 可以随时升级到新版:
sudo apt update
sudo apt install -y mongodb-org
3.2 利用 tarball 文件安装(熟悉Linux系统者可使用)
参考(2)在Redhat或Centos上安装MongoDB的3.2章节
四、一些说明
默认情况下,MongoDB使用mongod用户运行并使用以下默认目录:
/var/lib/mongo (数据目录)
/var/log/mongodb (日志目录)
如果是 apt 安装,将创建默认目录,且这些目录的所有者和组为mongod
。
如果是Tarball安装,需要手动创建上述的默认目录:
mkdir -p /var/lib/mongo
mkdir -p /var/log/mongodb
创建后,将这些目录的所有者和组设置为mongod
:
add user mongod
chown -R mongod:mongod /var/lib/mongo
chown -R mongod:mongod /var/log/mongodb
如果不想使用默认目录那就创建新目录,例如:
mkdir -p /some/data/directory (你的存放数据目录)
mkdir -p /some/log/directory(你的存放日志目录)
编辑配置文件/etc/mongod.conf
并相应地修改以下字段:
storage.dbPath 指定新的数据目录路径(例如/some/data/directory)
systemLog.path 指定新的日志文件路径(例如/some/log/directory/mongod.log)
如下图:
自定义目录的话要确保运行MongoDB
的用户拥有每一个目录的读写权限,将 <directory>
替换为你创建的目录
chown -R mongod:mongod <directory>
注意:如果更改运行MongoDB进程的用户,则必须 授予新用户对这些目录的访问权限。 如,用 cat 用户运行MongoDB,那么 cat 就必须拥有你自定义的那些目录的读写权限。
五、如何启动,连接?
配置好数据目录和log目录后,开始启动MongoDB
:(该启动方式不适合tarball 安装)
sudo systemctl startmongod.service
查看日志文件:/var/log/mongodb/mongod.log
,可以看到以下信息:
[initandlisten] waiting for connections on port 27017
默认MongoDB监听27017端口,可在 /etc/mongod.conf
文件中修改默认端口。
- 配置MongoDB开机启动:
sudo systemctl enable mongod.service
- 停止MongoDB:
sudo systemctl stop mongod.service
- 重启MongoDB:
sudo systemctl restart mongod.service
- 通过日志文件
/var/log/mongodb/mongod.log
可以查看MongoDB
的运行状态。
如何连接MongoDB?
通过启动一个 mongo shell 来连接MongoDB:
mongo
该命令默认连接本机的27017端口,并且不用密码:
如何卸载MongoDB?
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
如果是tarball安装,直接把MongoDB解压的目录删除即可,如果新建了存放数据和日志的目录,也可以一并删除:
sudo rm -r /usr/local/mongo
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
**如果想安装MongoDB-3.6的版本,请点击这个MongoDB-3.6安装
六、下一章是?
下一章将会讨论在 Debain 上如何安装MongoDB。