在 CentOS 7 上安装 MongoDB

MongoDB 作为一款优秀的开源免费 NoSQL 数据库,用来随手储存一些网上抓取的数据非常合适。话不多说,马上给我的 VPS 安排上。本文参考的是 MongoDB 的官方文档

修改 yum 配置文件

创建一个新的 yum 配置文件:/etc/yum.repos.d/mongodb-org-4.0.repo 并添加以下信息

1
2
3
4
5
6
[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

使用 yum 安装 MongoDB

输入命令

1
sudo yum install -y mongodb-org

开启密码验证

注意,MongoDB 安装后默认是无密码登陆,用户只需要填写 ip 地址,端口,数据库名称即可进行读写操作,这对运行在公网 ip 的 MongoDB 数据库而言是极大的安全风险,因此我们需要对 MongoDB 开启密码验证。

首先让 MongDB 跑起来

MongoDB 默认储存文件的地址似乎是 /data/db,因此我们首先创建该路径

1
2
3
cd /
mkdir data && cd data
mkdir db

然后让 MongoDB 跑起来

1
systemctl start mongod

连接 MongoDB 并创建管理员账号

首先在本地连上 MongoDB

1
mongo --port 27017

更改数据库为 admin

1
2
> use admin
switched to db admin

添加管理员用户

1
2
3
4
5
6
7
8
> db.createUser(
{
user: "some-user-name",
pwd: "some-pass-word",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
Successfully added user ...

修改 MongoDB 配置文件

1
nano /etc/mongod.conf

首先将 bindIp 改为 0.0.0.0 开启外网访问。此外添加如下字段开启密码验证

1
2
security:
authorization: enabled

重启 MongoDB

1
2
systemctl stop mongod
systemctl start mongod

大功告成,此时 MongoDB 已经开心的在 VPS 的 27017 端口上运行起来了,撒花~