MongoDB安装和部署

MongoDB的版本可以在官网 https://docs.mongodb.com/manual/installation/ 上查询。

我们使用的是社区版。

mac

目前用mac来开发,需要在本地安装运行一个mongdb,便于测试调试。

安装

mac上安装mongodb。在终端中用brew来安装速度有点太慢了。

我们去 https://www.mongodb.com/try/download/enterprise 下载一个mac使用的版本。
在网页右侧选择mongodb版本(这里选的是4.4.4),Platform选择macOS,压缩格式选tgz即可。
点击Download需要填一些资料。填好后确认Submit即可。下载后解压文件,得到一个文件夹。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mongodb-macos-x86_64-enterprise-4.4.6
├── LICENSE-Enterprise.txt
├── MPL-2
├── README
├── THIRD-PARTY-NOTICES
├── bin
│   ├── install_compass
│   ├── mongo
│   ├── mongocryptd
│   ├── mongod
│   ├── mongodecrypt
│   ├── mongokerberos
│   ├── mongoldap
│   └── mongos
└── snmp
├── MONGOD-MIB.txt
├── MONGODBINC-MIB.txt
├── README-snmp.txt
├── mongod.conf.master
└── mongod.conf.subagent

我们将这个目录复制到/usr/local/mongo中,需要用到管理员权限。

修改~/.bash_profile,添加如下命令。即mongo的目录添加到环境变量中

1
2
# mongo db
export PATH=$PATH:/usr/local/mongo/bin

此时可以重启命令行(终端)。

检查版本mongod --version

1
2
3
4
5
6
7
8
9
10
11
12
~ $ mongod --version
db version v4.4.4
Build Info: {
"version": "4.4.4",
"gitVersion": "8db30a63db1a9d84bdcad0c83369623f708e0397",
"modules": [],
"allocator": "system",
"environment": {
"distarch": "x86_64",
"target_arch": "x86_64"
}
}

能看到版本说明mongodb安装完成。

启动

Mac上启动。我们可以指定数据库路径--dbpath和log位置--logpath

1
sudo mongod --dbpath /Users/rustfisher/.mongodb/data --logpath /Users/rustfisher/.mongodb/log/mongodb1.log

后台启动,需要加上--fork

1
2
3
4
$ sudo mongod --dbpath /Users/rustfisher/.mongodb/data --logpath /Users/rustfisher/.mongodb/log/mongodb1.log --port 1993 --fork
about to fork child process, waiting until server is ready for connections.
forked process: 7580
child process started successfully, parent exiting

查询mongo进程

1
2
3
$ ps aux | grep mong
rustfisher 7608 0.0 0.0 4268424 732 s003 S+ 7:45下午 0:00.00 grep mong
root 7580 0.0 0.2 5548488 27868 ?? S 7:44下午 0:01.02 mongod --dbpath /Users/rustfisher/.mongodb/data --logpath /Users/rustfisher/.mongodb/log/mongodb1.log --fork

Ubuntu

我们的服务器一般是Linux。接下来在Ubuntu上安装运行mongodb。

安装

Ubuntu上安装mongodb比较简单,用apt-get命令。

先upadate一次

1
sudo apt-get update

然后装上4.4.4版本的mongodb

1
sudo apt-get install -y mongodb-org=4.4.4 mongodb-org-server=4.4.4 mongodb-org-shell=4.4.4 mongodb-org-mongos=4.4.4 mongodb-org-tools=4.4.4

等它装完后,看一下版本号

1
2
3
4
5
6
7
8
9
10
11
12
13
14
~$ mongod --version
db version v4.4.4
Build Info: {
"version": "4.4.4",
"gitVersion": "8db30a63db1a9d84bdcad0c83369623f708e0397",
"openSSLVersion": "OpenSSL 1.0.2g 1 Mar 2016",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "ubuntu1604",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}

可以发现,这里的gitVersion和前面用mac装的是一样的。
一些关于Linux的操作笔记,可以访问 https://rustfisher.com/tags/Linux

运行

Ubuntu操作mongodb的官方文档

默认的配置文件为 /etc/mongod.conf

把端口改为1993,服务器如果启用了防火墙,记得允许1993端口

1
sudo ufw allow 1993

或者在云服务器控制台那里检查一些,是否开放了端口

服务器使用的是systemctl

启动mongodb

1
sudo systemctl start mongod

查看状态

1
sudo systemctl status mongod

重启

1
sudo systemctl restart mongod

MongoDB Compasss

前面我们已经安装好了mongodb,并且运行起来了。接下来我们找一个有图形化界面的软件来访问数据库。

MongoDB Compass能让用户清晰地看到文档结构,执行查询,修改等等操作。

在这里可以下载MongoDB Compasss https://www.mongodb.com/try/download/compass
这里我们使用mac下的1.25.0版本。

连接到本地的数据库,在Compass中选择新建连接

1
mongodb://127.0.0.1:1993/rustfisher-db?readPreference=primary&appname=MongoDB%20Compass&ssl=false

前面我们启动mongodb是在1993端口,连接的时候要注意端口号。

127.0.0.1是我们本地的ip,如果要连接到服务器的mongodb,一般可以直接用服务器ip来连接。

例如服务器公网ip是1.2.3.4,端口是1993

1
mongodb://1.2.3.4:1993/rustfisher-db?readPreference=primary&appname=MongoDB%20Compass&ssl=false

连上mongodb后,就可以自由地进行操作了。