• 使用docker安装使用 mongo


    1.获取mongo镜像

    docker pull mongo

    2.启动mongo

    docker run --name mongo -p 27017:27017 -v /data/mongo:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin -d mongo

    参数说明:

    -d     后台启动
    --name 自定义名称
    -p     映射端口
    -v     挂载数据目录和配置目录
    -e 环境变量

    注:

      运行时加上 环境变量MONGO_INITDB_ROOT_USERNAME 和MONGO_INITDB_ROOT_PASSWORD 会自动启动授权

    查看状态

     3.连接

    登录到mongo的容器里

    docker exec -it mongo bash

    使用交互的形式, 在名字为 `mongodb` 的容器中实行 `bash`这个命令

    连接mongo

     mongo -u admin -p admin

    4.使用

    (1)在容器中连接

      新建数据库abc,添加用户baby,密码123456,授权readWrite,在abc上添加一条数据

    > use abc;
    switched to db abc
    >  db.createUser({user:"baby",pwd:"123456",roles:["readWrite"]})
    Successfully added user: { "user" : "baby", "roles" : [ "readWrite" ] }
    > show users
    {
            "_id" : "abc.baby",
            "userId" : UUID("bde1abcc-e351-4e16-95c7-786e2f9a7f60"),
            "user" : "baby",
            "db" : "abc",
            "roles" : [
                    {
                            "role" : "readWrite",
                            "db" : "abc"
                    }
            ],
            "mechanisms" : [
                    "SCRAM-SHA-1",
                    "SCRAM-SHA-256"
            ]
    }
    > show databases
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    > db.abc.insert({"name":"joe","age":"20"})
    WriteResult({ "nInserted" : 1 })
    > show databases
    abc     0.000GB
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    > db.abc.find({"name":"joe"})
    { "_id" : ObjectId("5e8d5ea9b116039555a29399"), "name" : "joe", "age" : "20" }

    (2)在windows上连接

    mongo  宿主机ip/数据库  -u用户名 -p密码

    连接并查询数据

    D:mongodbin>mongo 192.168.99.100/abc -u baby -p 123456
    MongoDB shell version v4.2.0
    connecting to: mongodb://192.168.99.100:27017/abc?compressors=disabled&gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("c1b84b1a-b94c-48d1-ac87-0c061d63a62e") }
    MongoDB server version: 4.2.5
    > show databases
    abc  0.000GB
    > db.abc.find({"name":"joe"})
    { "_id" : ObjectId("5e8d5ea9b116039555a29399"), "name" : "joe", "age" : "20" }
  • 相关阅读:
    Linux 多进程锁的几种实现方案
    Linux man手册没有pthread_mutex_init的解决办法
    IP地址结构信息与字符串相互转化:inet_pton和inet_ntop, etc.
    Linux 将计算md5值功能做成md5命令
    Unix/Linux inet守护进程
    Unix/Linux syslogd守护进程 & 日志记录syslog
    UNP 学习笔记 #11 名字与地址转换
    git 使用总结
    AUPE 输出致标准错误的出错函数分析与实现 err_sys, err_quit, err_doit etc.
    Linux C常见数I/O函数比较: printf, sprintf, fprintf, write...
  • 原文地址:https://www.cnblogs.com/baby123/p/12659377.html
Copyright © 2020-2023  润新知