Linux 平台安装 MongoDB
MongoDB 提供了 linux 各个发行版本 64 位的安装包,我们可以在官网下载安装包。
1、 安装依赖包 openssl
安装前我们需要安装各个 Linux 平台依赖包。
Red Hat/CentOS:
yum install libcurl openssl
Ubuntu 18.04 LTS ("Bionic")/Debian 10 "Buster":
apt-get install libcurl4 openssl
Ubuntu 16.04 LTS ("Xenial")/Debian 9 "Stretch":
apt-get install libcurl3 openssl
2、 下载安装 MongoDB
MongoDB 下载地址:https://www.mongodb.com/try/download/community。
我们选择 tgz 下载,下载完安装包,解压就可以直接使用。 (以下演示的是 Ubuntu1 64 位 Linux上的安装) 。
# 下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz # 解压 tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz # 将解压包拷贝到指定目录 mv mongodb-src-r4.2.8 /usr/local/mongodb
MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:
export PATH=<mongodb-install-directory>/bin:$PATH
<mongodb-install-directory> 为你 MongoDB 的安装路径。如本文的 /usr/local/mongodb 。
export PATH=/usr/local/mongodb/bin:$PATH
4、 创建数据库目录
默认情况下 MongoDB 启动后会初始化以下两个目录:
- 数据存储目录:/var/lib/mongodb
- 日志文件目录:/var/log/mongodb
我们在启动前可以先创建这两个目录并设置当前用户有读写权限:
mkdir -p /var/lib/mongo mkdir -p /var/log/mongodb
5、 启动 Mongodb 服务
mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
打开 /var/log/mongodb/mongod.log 文件看到以下信息,说明启动成功。
# tail -10f /var/log/mongodb/mongod.log 2020-07-09T12:20:17.391+0800 I NETWORK [listener] Listening on /tmp/mongodb-27017.sock 2020-07-09T12:20:17.392+0800 I NETWORK [listener] Listening on 127.0.0.1 2020-07-09T12:20:17.392+0800 I NETWORK [listener] waiting for connections on port 27017
5、MongoDB 后台管理 Shell
打开 mongodb 装目录的下的 bin 目录,然后执行 mongo 命令文件。如果安装后没有 mongo,可以在官方网站下载。
MongoDB Shell 是 MongoDB 自带的交互式 Javascript shell,用来对 MongoDB 进行操作和管理的交互式环境。
当你进入 mongoDB 后台后,它默认会链接到 test 文档(数据库):
$ cd /usr/local/mongodb4/bin $ ./mongo MongoDB shell version v4.2.8 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("2cfdafc4-dd56-4cfc-933a-187b887119b3") } MongoDB server version: 4.2.8 Welcome to the MongoDB shell. ……
由于它是一个JavaScript shell,您可以运行一些简单的算术运算:
> 2+2 4 > 3+6 9
现在让我们插入一些简单的数据,并对插入的数据进行检索:
> db.runoob.insert({x:10}) WriteResult({ "nInserted" : 1 }) > db.runoob.find() { "_id" : ObjectId("5f069bdb4e02f8baf90f1184"), "x" : 10 } >
第一个命令将数字 10 插入到 runoob 集合的 x 字段中。
如果要停止 mongodb 可以使用以下命令:mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --shutdown
也可以在 mongo 的命令出口中实现:
> use admin switched to db admin > db.shutdownServer()
MongoDB 数据库、集合、文档:关系数据库的基本概念包括数据库、表和记录,在 MongoDB 中对应的是数据库、集合和文档。MongoDB 数据库(Database):一个 mongodb 中可以建立多个数据库。MongoDB 的默认数据库为 "db",该数据库存储在 data 目录中。MongoDB 的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。