zoukankan      html  css  js  c++  java
  • mongo 远程连接的开启

    使用 docker 部署 mongodb

    1.  
    2. docker pull mongo
    1.  
    2. docker run --name mongodb -v ~/docker/mongo:/data/db -p 27017:27017 -d mongo
    1. 拉取镜像
    2. 可以查看镜像是否下载成功
      1.  
      2. docker images | grep mongo
      应该会有如下的显示
      1.  
      2. mongo latest 7177e01e8c01 2 months ago 393MB
      > 2 months ago 和 393MB 取决于镜像的拉取时间和对应版本的大小.
    3. 使用 docker 安装 mongodb
    4. 执行上述命令之后, 一个挂载了 mongo镜像的容器就开始运行了 其中 * `--name` 设置了容器的名字 * `-v` 设置了路径的映射, 将本地路径映射到容器中. 此处, 路径可以自定义 * `-p` 设置了端口的映射, 将容器的27017(右侧) 映射到了本地的27017(右侧)
    5. 进入容器.
      1.  
      2. docker exec -it mserver bash
      上述命令的意思如下: 使用交互的形式, 在 名字为 `mongodb` 的容器中实行 `bash`这个命令
    6. `mongodb`的使用
      1. 用户的创建和数据库的建立
      2. 用户的创建 * 输入以下命令进入 `mongo`
        1.  
        2. mongo
        * 创建用户
        1.  
        2. # 进入 admin 的数据库
        3. use admin
        4. # 创建管理员用户
        5. db.createUser(
        6. {
        7. user: "admin",
        8. pwd: "123456",
        9. roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
        10. }
        11. )
        12. # 创建有可读写权限的用户. 对于一个特定的数据库, 比如'demo'
        13. db.createUser({
        14. user: 'test',
        15. pwd: '123456',
        16. roles: [{role: "read", db: "demo"}]
        17. })
        数据库的建立
        1.  
        2. use demo;
      3. mongo 是否正常启动的校验
      4. 先写入一条数据
        1.  
        2. db.info.save({name: 'test', age: '22'})
        查看写入的数据
        1.  
        2. db.info.find();
        结果如下
        1.  
        2. { "_id" : ObjectId("5c973b81de96d4661a1c1831"), "name" : "test", "age" : "22" }
        > 其中的`_id`应该会和笔者的不同
    7. 远程连接的开启
    8. 在 `mongodb` 的容器当中
      1.  
      2. #更新源
      3. apt-get update
      4. # 安装 vim
      5. apt-get install vim
      6. # 修改 mongo 配置文件
      7. vim /etc/mongod.conf.orig
      将其中的
      bindIp: 127.0.0.1
      注释掉`# bindIp: 127.0.0.1` 或者改成`bindIp: 0.0.0.0` 即可开启远程连接
  • 相关阅读:
    线性回归与梯度下降法[二]——优化与比较
    matlab基础教程——根据Andrew Ng的machine learning整理
    dapper-dot-net用法及其扩展系列
    线性回归与梯度下降法[一]——原理与实现
    浅析 if __name__ == "__main__":
    Python中集合数据类型之间的'交'、'差'、'并'、'补'的表达方式
    Python中 'is' 跟 '==' 的区别
    Python中的逻辑运算符:'and'与'or'的用法
    Python2跟Python3的区别
    编程语言分类及区别
  • 原文地址:https://www.cnblogs.com/kofsony/p/12511728.html
Copyright © 2011-2022 走看看