如何创建 MongoDB 实例 ?

0 参考配置

  • Ubuntu 16.04 LTS
  • MongoDB v3.6.4

1 安装 MongoDB

直接通过 apt 安装,可以参考 install-mongodb-on-ubuntu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 导入公钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5

# 创建源列表文件MongoDB
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list

# 更新存储库
sudo apt update

# 安装MongoDB
sudo apt install mongodb-org

# 创建连接
sudo systemctl enable mongod.service

2 创建 MongoDB 实例

首先创建配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo cp /etc/mongod.conf /etc/$your_instance_name.conf

# 打开配置
sudo vi /etc/$your_instance_name.conf

# 修改
storage:
dbPath: /var/lib/$your_instance_name
systemLog:
path: /var/log/mongodb/$your_instance_name.log
net:
port: $your_port
bindIp: 0.0.0.0
# 这里仍然属于上文修改的一部分,作用是关闭认证
#security:
# authorization: enabled


# 创建数据库文件夹
sudo mkdir /var/lib/$your_instance_name

# 修改用户和用户组
sudo chown -R mongodb:mongodb /var/lib/$your_instance_name

其次创建服务文件

1
2
3
4
5
6
7
8
9
10
11
sudo cp /lib/systemd/system/mongod.service /lib/systemd/system/$your_instance_name.service

# 打开配置
sudo vi /lib/systemd/system/$your_instance_name.service

# 修改
ExecStart=/usr/bin/mongod --config /etc/$your_instance_name.conf
PIDFile=/var/run/mongodb/$your_instance_name.pid

# 启动服务
sudo service $your_instance_name start

3 查看 MongoDB 状态

查看服务的运行状态

1
sudo service $your_instance_name status

如果你看到了绿色的 active (running) 那么恭喜你🎉!

1
2
3
4
5
6
7
8
# 尝试连接 MongoDB
mongo --port $your_port

# 显示所有数据库名
show dbs
# 你会看到:
admin 0.000GB
local 0.000GB

4 使用 Docker 进行容器化安装

1
2
3
4
5
6
7
8
9
10
# 拉取镜像
docker pull mongodb/mongodb-community-server:4.4.21-ubuntu2004

# 运行容器
docker run -d --name mongodb -p 27017:27017 -v $(pwd)/data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=qwer1234 \
mongodb/mongodb-community-server:4.4.21-ubuntu2004

# 查看日志
docker logs -f mongodb

5 参考

作者

Ailln

发布于

2018-06-01

更新于

2024-03-02

许可协议

评论