MongoDB 的安装和配置

MongoDB 属于数据库管理系统(DBMS)中的非关系型数据库(NoSQL),是由 C++ 语言编写的,是一个基于分布式文件存储的开源数据库系统

MongoDB 旨在为 web 应用提供可扩展的高性能数据存储解决方案

MongoDB 将数据存储为一个文档,数据结构由键值 (key=>value) 对组成。MongoDB 文档类似于 JSON 对象,字段值可以包含其他文档、数组及文档数组

 

官网下载链接:https://www.mongodb.com/try/download/community

macOS

 根据 CPU 架构选择对应的压缩包,M 芯片系列的 mac 选择 macOS ARM 64

 下载后将压缩包解压,并将解压后得到的目录重命名为 mongodb 移至 PATH 变量路径下(PATH 变量可通过 echo $PATH 查看)

 PATH 变量也可以通过修改配置文件进行更改(bash-> ~/.bash_profile,zsh-> ~/.zshrc)

 mongodb 子目录 bin 下包含三个二进制文件

 # install_compass 用来安装 MongoDB 的图形化操作界面

 # mongod 为 MongoDB 服务的 daemon 进程

 # 对于分片集群,mongos 实例提供客户端应用程序和分片集群之间的接口

 安装后可直接通过命令行启动 MongoDB 服务

mkdir -p /usr/local/mongodb/{data,log,etc}

mongod --fork --dbpath /usr/local/mongodb/data/ --logpath /usr/local/mongodb/log/mongo.log --logappend

# --fork 指定进程在后台运行

# --dbpath 指定数据存放路径

# --logpath 指定日志存放路径

# --logappend 指定日志以追加的形式写入文件,之前的日志不会被覆盖

mac 安装 mongosh 命令:brew install mongosh

# 图中 mongosh 等价于 mongosh "mongodb://127.0.0.1:27017" 

# mongod 服务默认监听本地 27017 端口,图中 test 表示当前在使用的数据库,但使用 show dbs 命令看到当前的数据库为空,这是因为 MongoDB 不会显示数据为空的数据库,而且 use 后面可以跟不存在的数据库名,区别于大部分关系型数据库(RDBMS)

# 也可以在本地访问 127.0.0.1:27017 ,出现如上所示表示 mongod 服务正常运行

也可将 mongod 服务启动的命令写入配置文件中,在启动时使用 -f 或 --config 参数指定配置文件即可

# mongod.conf

processManagement:
  fork: true

storage:
  dbPath: /usr/local/mongodb/data

net:
  port: 27017
  bindIp: 127.0.0.1  

systemLog:
  destination: file
  path: /usr/local/mongodb/log/mongo.log
  logAppend: true

security:
  authorization: enabled
mongodb.conf

 

Debian

官方文档:https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-debian/

# 安装基础软件

apt-get install gnupg curl -y

# 下载 gpg key

curl -fsSL https://pgp.mongodb.com/server-7.0.asc | gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor

# 配置 MongoDB apt source

# 官方源速度慢可将 url 换为 https://mirrors.tuna.tsinghua.edu.cn/mongodb/apt/debian

echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian $(lsb_release -cs)/mongodb-org/7.0 main" | \

tee /etc/apt/sources.list.d/mongodb-org-7.0.list

# 安装最新版 mongodb-server 和 mongosh 

apt-get update

apt-get install -y mongodb-org-server mongodb-mongosh

# 启动 mongodb 服务

systemctl daemon-reload

systemctl enable mongod --now

# 运行 mongosh 命令

mongosh "mongodb://127.0.0.1:27017"

 

docker-compose

# mkdir -p data/{mongo_db,mongo_configdb}

version: '3'

services:

  # MongoDB: https://hub.docker.com/_/mongo/
  mongodb:
    restart: always
    image: mongo:7.0.1
    container_name: mongodb
    ports:
      - 27017:27017
    volumes:
      - type: bind
        source: ./data/mongo_db
        target: /data/db
      - type: bind
        source: ./data/mongo_configdb
        target: /data/configdb
      - type: bind
        source: ./mongod.conf
        target: /etc/mongod.conf
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: mongo-password
docker-compose.yml
# mongod.conf

processManagement:
  fork: true

storage:
  dbPath: /data/mongo_db
  journal:
    enabled: true

net:
  port: 27017
  bindIp: 0.0.0.0

systemLog:
  destination: file
  path: /data/log/mongo.log
  logAppend: true

security:
  authorization: enabled
mongod.conf

# 启动 mongodb 容器

docker-compose up -d

# 本机连接 mongodb 容器

mongosh -u root -p mongo-password "mongodb://127.0.0.1:27017"

mongosh -u root -p mongo-password --host localhost --port 27017

# 非本机连接 mongodb 容器

mongosh -u root -p mongo-password "mongodb://MongoDB 容器所在宿主机 IP:27017"

mongosh -u root -p mongo-password --host "MongoDB 容器所在宿主机 IP" --port 27017

posted @ 2023-09-10 11:59  demoduan  阅读(809)  评论(0编辑  收藏  举报