• NoSQL - MongoDB及工具 - 安装


    1.应用场景

    主要用于安装和使用MongoDB。

    2.学习/操作

    1.文档阅读

    NoSQL - MongoDB - 学习/实践_穿素白衫的中少年的博客-CSDN博客

    2.整理输出

    用于学习,推荐安装最新版本 或者 最新稳定版「这里就安装最新稳定版」

    如果生产环境,通常都是最新稳定版「具体还要结合官方文档推荐和实际生产环境实践推荐」

    Download MongoDB Community Server | MongoDB

    这里使用两种方式:

    1. Mac上直接安装MongoDB

    2. Docker运行mongodb容器

    方式1. Mac上直接安装MongoDB

    教程:Mac OSX 平台安装 MongoDB | 菜鸟教程

    1. 下载压缩包

    https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-6.0.2.tgz

    2. 找个目录,放置mongodb的解压目录

    cd ~/Documents/env/service // 这里是个人的环境服务目录

    tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz // 开始解压,也可以mac下直接鼠标双击即可

    重命名为 mongodb 目录「可选,我这里没做」

    sudo mv mongodb-osx-x86_64-4.0.9/ mongodb

    3. 创建mongodb的数据和日志存放目录,同时保证该目录们可读可写。

    这里直接将数据和日志文件目录放在mongodb目录下,

    创建data和log目录,并且同时给其可读可写权限

    4. 启动mongodb服务

    Note:

    后台启动mongodb服务端「结合自己的可执行文件路径和数据&日志目录路径来启动」

    ./bin/mongod --dbpath ~/Documents/Env/service/mongodb-macos-x86_64-6.0.2/data --logpath ~/Documents/Env/service/mongodb-macos-x86_64-6.0.2/log/mongo.log --fork

    • --dbpath 设置数据存放目录
    • --logpath 设置日志存放目录
    • --fork 在后台运行

    运行结果如下:

    如果不想在后端运行,而是在控制台上, 查看运行过程,

    将江面的--fork去掉即可

    另外,也可以使用配置文件启动:

    mongod --config /usr/local/etc/mongod.conf // 这里是直接通过TGZ安装,并没有提供mongod.conf配置文件,需要自行创建该文件,编写配置内容「也可以不填写,使用默认配置」

    可以参考如下的配置文件,进行的自己的修改

    Configuration File Options — MongoDB Manual

    Run-time Database Configuration — MongoDB Manual

    processManagement:
       fork: true
    net:
       bindIp: localhost
       port: 27017
    storage:
       dbPath: /var/lib/mongo
    systemLog:
       destination: file
       path: "/var/log/mongodb/mongod.log"
       logAppend: true
    storage:
       journal:
          enabled: true

    这里还是直接配置文件放到了mongodb的安装目录下

    新建config目录,同时创建mongod.conf

    启动服务

    ./bin/mongod --config /Users/huangbaoyin/Documents/Env/service/mongodb-macos-x86_64-6.0.2/config/mongod.conf


    查看 mongod 服务是否启动:

    ps aux | grep -v grep | grep mongod


    使用以上命令如果看到有 mongod 的记录表示运行成功。

    关于使用客户端进行连接参见 7、工具安装使用

    也可以直接使用 使用 brew 安装,这里就省略了。

    方式2:Docker运行mongodb容器

    Docker 安装 MongoDB | 菜鸟教程

    Docker Hub -- mongodb

    很简单,运行如下命令即可

    docker pull mongo // 拉取镜像

    docker run --name mongo -p 27017:27017 mongo:latest // 实例化容器

    这里是映射容器服务的 27017 端口到宿主机的 27018 端口「因为上面已经使用了宿主机的27017端口,至于为什么不适用270170端口,因为超过端口允许范围」。
    docker run --name mongo -p 27018:27017 mongo:latest

    这时候已经成功实例化容器,可以正常使用了。

    进入容器中,

    $ docker exec -it mongo bash

    可以查看mongo的数据文件和日志文件以及配置文件

            容器内mongo配置文件目录:/etc/mongod.conf.orig
            容器内mongo数据文件目录:/data/db
            容器内mongo日志文件目录:/var/log/mongodb

    Docker安装MongoDB_comava的博客-CSDN博客_docker 安装mongodb

    但是我们有时候想要在不进入容器内部,就能看到mongo的数据文件和日志文件以及配置文件

    那么,就可以使用挂载目录方式,重新实例化容器「上面的容器删掉就好了」

    下面是个人这里的配置

    docker run -d \

    --name mongo \

    -p 27018:27017 \

    --restart=always \

    --privileged=true \

    -v /etc/localtime:/etc/localtime:ro \

    -v ~/Documents/Env/service/mongodb-docker/config/mongod.conf:/etc/mongod.conf.orig \

    -v ~/Documents/Env/service/mongodb-docker/data:/data/db \

    -v ~/Documents/Env/service/mongodb-docker/log:/var/log/mongodb \

    -e MONGO_INITDB_ROOT_USERNAME=admin \

    -e MONGO_INITDB_ROOT_PASSWORD=123456 \

    mongo:latest --auth

     
    查看配置信息

    客户端连接如下:

    MongoDB Compass

    Navicat

    okay,安装✅

    工具安装使用「含客户端」

    Try MongoDB Tools - Download Free Here | MongoDB

    1. 命令行工具

            MongoDB Shell

            https://downloads.mongodb.com/compass/mongosh-1.6.0-darwin-x64.zip

           

            直接下载,然后解压,运行./bin/mongosh 即可

    2. 可视化工具

            Navicat

            MongoDB Compass -- 官方工具

    Navicat

     

     

    MongoDB Compass「其中界面下方,也包含了mongosh 终端客户端, 但是个人觉得使用体验并不好」

    均成功连接~~~

    这里推荐都安装,我个人电脑上开发时,通常都会有两个客户端,针对GUI工具而言

    额外说下

    Navicat中可以选择使用 “命令行界面”,但是本质上还是自行安装的mongosh客户端

    如下,直接跳转到mac终端下,使用mongosh进行连接。

    而且因为mongosh使用js shell编写的,所以可以执行js代码

    后续补充

    ...

    3.问题/补充

    TBD

    4.参考

    参见上面文档列表

    后续补充

    ...

  • 相关阅读:
    CSS篇十六——盒子模型之边框
    「网页开发|前端开发|Vue」06 公共组件与嵌套路由:让每一个页面都平等地拥有导航栏
    Redis incr实现流水号自动增长
    布隆过滤器原理介绍和典型应用案例
    GraphQL全面深度讲解
    Hadoop -- 分布式文件系统
    统信UOS升级Python3及安装spyder5
    python GIL全局锁、描述器
    Spring-FactoryBean的源码——简略解析(上)
    数据库与MPP数仓(二十五):Vertica的优化/运维高频使用语句
  • 原文地址:https://blog.csdn.net/william_n/article/details/127753800