开始之前,你可能需要:
Linux系统包括众多发行版本,其中Redhat和Centos是一大分支。
本教程将会介绍如何在Redhat7,或者Centos7上通过rpm包安装MongoDB的社区版。对于MongoDB,奇数次版本(例如3.5)是开发版本,不适合生产使用。偶数次版本是稳定版(如3.6),适合生产使用。
注意:本安装指南仅支持64位系统。事实上,现在的MongoDB版本也已经放弃支持32位系统。
MongoDB在自己的官方存储库(repo)中提供官方支持的包如下:
提供两种安装办法 yum 和 tarball。
/etc/yum.repos.d/mongodb-org-4.0.repo
文件,配置安装MongoDB的repo :[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
sudo yum install -y mongodb-org
sudo yum 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
sudo yum update
sudo yum install -y mongodb-org
/etc/yum.conf
文件中:exclude = mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
先解决MongoDB运行需要的依赖组件:
yum install libcurl openssl
从MongoDB的 下载中心下载需要的版本:
wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz
解压 tarball
tar -zxvf mongodb-linux-*-4.0.9.tgz
移动数据到合适目录,并改名:
mv mongodb-linux-*-4.0.9 /usr/local/mongo
把MongoDB的可执行文件目录加入到环境命令路径中去:
sudo echo 'PATH=$PATH:/usr/local/mongo/bin' >> /etc/profile
让上述修改马上生效: source /etc/profile
默认情况下,MongoDB使用mongod用户运行并使用以下默认目录:
/var/lib/mongo (数据目录)
/var/log/mongodb (日志目录)
如果是yum安装,将创建默认目录,并将这些目录的所有者和组设置为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
的用户可以访问一个或多个目录,将
替换为你创建的目录
chown -R mongod:mongod
注意:如果更改运行MongoDB进程的用户,则必须 授予新用户对这些目录的访问权限。 如,用 cat 用户运行MongoDB,那么 cat 就必须拥有你自定义的那些目录的访问权限。
配置好数据目录和log目录后,开始启动MongoDB
:(该启动方式不适合tarball 安装)
sudo service mongod start
查看日志文件:/var/log/mongodb/mongod.log
,可以看到以下信息:
[initandlisten] waiting for connections on port 27017
默认MongoDB监听27017端口,可在 /etc/mongod.conf
文件中修改默认端口。
sudo chkconfig mongod on
sudo service mongod stop
sudo service mongod restart
/var/log/mongodb/mongod.log
可以查看MongoDB
的运行状态。如何连接MongoDB?
通过启动一个 mongo shell 来连接MongoDB:
mongo
该命令默认连接本机的27017端口,并且不用密码:
如何卸载MongoDB?
sudo service mongod stop
sudo yum erase $(rpm -qa | grep mongodb-org)
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
如果是tarball安装,直接把MongoDB解压的目录删除即可,如果新建了存放数据和日志的目录,也可以一并删除
rm -r /usr/local/mongo
**如果想安装MongoDB-3.6的版本,请点击这个MongoDB-3.6安装
下一章将会讨论在Ubuntu上如何安装MongoDB。