zoukankan      html  css  js  c++  java
  • ubuntu下 mongodb 首次安装配置

    1 下载

    https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
    

    2 解压并拷贝到 /usr/local/mongodb

    tar -zxvf mon*
    
    cp mongodb-linux-x86_64-3.0.6 /usr/local/mongo
    
    

    3 配置环境变量 /etc/profile

    sudo  gedit /etc/profile
    添加mongodb的安装路径下的bin 到 path
    export PATH=<mongodb-install-directory>/bin:$PATH
    
    source /etc/profile 
    

    4 新建data文件夹 和 log文件(mongodb存放数据和日志的地方,但是他自己不会主动创建 所以需要我们手动创建)

    sudo mkdir /usr/local/mongodb/data  #创建mongodb数据库存放路径
    
    sudo mkdir /usr/local/mongodb/log   #创建mongodb日志存放路径
    
    touch /usr/local/mongodb/log/mongodb.log   #创建mongodb日志文件
    
    补充: mongodb默认的数据会放到/data/db下 此处我们把日志文件放到mongodb目录下 方便以后查找,
    
    修改文件权限 (因为刚才我们创建的文件 都是用sudo命令创建的,所以 文件的owner 都是属于root 而我们平时用的用户都是非root的)
    
    sudo chown -R kk:kk /usr/local/mongodb/*
    
    

    5 启动

    mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log -logappend -port 27017 --fork --auth
    
    参数说明
    
      启动服务时用到的如下:
      --dbpath 数据库路径
      --logpath 日志文件路径
      --logappend 日志在日志文件末尾追加
      --port 启用的端口号【可不写,默认是27017】
      --fork 让mongodb服务在后台运行
           --auth
    

    6 加入开启启动

    sduo gedit /etc/rc.local 
    
    
    /usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log
    (注意 此处必须加全路径 因为此时环境变量还未加载)
    
    

    7 杀掉进程

    
    which mongo
    
    ps -ef | grep mongo
    kill -9 xxx
    
    

    7 启动 mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log -logappend -port 27017 --fork --auth 报错

    解决办法见下一条

    7 mongo.lock 存放目录

    添加 用户名验证

    https://www.jianshu.com/p/79caa1cc49a5

    https://www.jianshu.com/p/63077a939398

    
    use admin
    
    db.createUser(
      {
        user: "kk",
        pwd: "123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
    
    
    use foo
    
    db.createUser(
      {
        user: "simpleUser",
        pwd: "simplePass",
        roles: [ { role: "readWrite", db: "foo" },
                 { role: "read", db: "bar" } ]
      }
    )
    
    db.createUser(
      {
        user: "kk_blog",
        pwd: "kk_123",
        roles: [ { role: "readWrite", db: "blog" }]
      }
    )
    

    鉴权
    dbs 失败

    use admin 这一步很重要 否则数据库不知道你要登录那个数据库的 user
    db.auth("kk", "123")
    返回1 则成功登录

    db.getUsers() 查看当前数据库的用户

    7 mongod 开启后台服务

    使用--fork参数启动

    mongod --fork --logpath <log_file_path> --dbpath <db_folder_path>

    --fork 将mongod作为后台服务启动,并必须要跟随 --logpath 指定日志文件路径,

    如果该日志文件不存在会被自动创建

    --dbpath 数据的存储目录

    启动一个mongo 镜像 并映射端口和目录到主机

    docker run -it -p 27017:27017 -v $PWD/db:/data/db -d 43099507792a

    -p 27017:27017 :将容器的27017 端口映射到主机的27017 端口

    -v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录
    -d 后台运行

  • 相关阅读:
    ABP初始化
    ABP生成错误:必须添加对程序集“netstandard”的引用
    树莓派安装Mysql
    多对多关系的中间表命名
    dapper.net 存储过程
    Rabbitmq发送方消息确认
    Rabbitmq发送消息Message的两种写法
    ThreadLocal原理
    多模块打包为可执行jar问题
    类中属性加载顺序的demo
  • 原文地址:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/8168601.html
Copyright © 2011-2022 走看看