系统:Ubuntu 16.04
官方文档:https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/
灰常重要!
Ubuntu提供的非官方mongodb包并不是MongoDB维护的(开头就甩锅,妙啊)你应该总是使用MongoDB官方的mongodb-org包,这个包同MongoDB最近主要和次要发布版总是保持一致。
平台支持
MongoDB只为64位的Ubuntu LTS版提供包。比如14.04,16.04...
这些包也许能在别的Ubuntu发行版上使用,尽管它们不被支持。
Ubuntu 16.04 需要升级包
(简而言之)Ubuntu 16.04 安装MongoDB前必须升级glibc
(至少为glibc 2.23-0ubuntu5
)不然会出大问题。
安装MongoDB Community Edition
注意:
安装不同版本的MongoDB请参考那个版本的说明文档。(我看了下好像除了版本号没啥不同 = = ··)
使用.deb包安装(推荐)
导入包管理系统需要的公钥
Ubuntu包管理工具(dpkg和apt)为了保证包的一致性和真实性需要发布者使用GPG Keys对包进行签名。输入下列命令导入MongoDB GPG 公钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
创建MongoDB列表文件
创建/etc/apt/sources.list.d/mongodb-org-4.0.list
列表文件:
# For Ubuntu 16.04
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
重新加载本地包管理数据库
sudo apt-get update
安装MongoDB包
安装最新版本,输入下面的命令:
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
PS:如果你只安装了mongodb-org=4.0.0
而不包含其他组件包,将会安装最新版本的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 Community Edition
多数类UNIX操作系统限制了session使用的系统资源,这些限制对MongoDB运行可能有负面影响。参考UNIX ulimit Settings了解更多。
默认情况下,MongoDB实例将其数据文件存储在/var/lib/mongodb
,日志文件存储在/var/log/mongodb
,通过mongodb用户帐号运行。你可以修改/etc/mongod.conf
指定其他的目录来存储数据和日志文件。更多信息参见 systemLog.path和storage.dbPath。
如果你更换了用户运行MongoDB进程,你必须修改/var/lib/mongodb
及/var/log/mongodb
目录的访问控制权限,以使当前对这些目录用户有相应权限。
启动MongoDB
使用下面的命令启动MongoDB:
sudo service mongod start
验证MongoDB启动成功
验证mongod
进程成功启动,可通过在日志文件/var/log/mongodb/mongod.log
寻找其内容中是否包含下列内容的一行:
[initandlisten] waiting for connections on port 27017
port
是mongod
监听的端口。如果你在/etc/mongod.conf
配置文件中修改了net.port设置,显示的端口可能会不一样。
如果你修改了systemLog.path配置文件选项,你需要到你指定的目录下寻找。
你可能会看到mongod
输出中的非关键警告。只要你看到了日志文件中有上面的那一行,你就可以在对MongoDB的初始评估安全的忽略这些警告。
停止MongoDB
若是需要,你可以通过下面的命令停止mongod
进程:
sudo service mongod stop
重启MongoDB
输入下面的命令重启mongod
:
sudo service mongod restart
开始使用MongoDB
mongo --host 127.0.0.1:27017