• MongoDB设置后台运行和添加账户和密码


    一、准备工作:

    1. 安装好MongoDB,可以参考菜鸟教程(我装在腾讯服务器上,安装目录/usr/local/mongodb,安装版本3.0.6 )

    2.准备连接MongoDB的可视化工具(我使用的是最新的Datagrip 2020.1版本)

     二设置后台运行:

    新装好的MongoDB默认是没有密码的,直接连接,打开shell,执行  ./mongod 命令 ,远程或本地都可以连接,但是shell窗口一旦关闭,mongodb也直接退出了。

    进入/bin目录下

    所以,启动时候增加参数 --fork,而且还要带两个参数--dbpath --logpath 才能后台运行

     --dbpath 表示安装目录 ,
     -- logpath 自己创建一个日志文件
     -- 另外不是正常关闭,例如kill -9 会损坏文件,启动下面的命令会报错~解决方法是./mongod 临时启动一下,然后关闭shell窗口即可,或者 pkill mongod
     --  --auth  # 启用认证
     ./mongod --fork --auth --dbpath=/usr/local/mongodb --logpath=/usr/local/mongodb/mongo.log --logappend

    成功的话会提醒,效果如下

    三、设置账户和密码

     上面已经启动时候带 --auth  启用认证了, 设置密码是给某个数据库设置密码的,这里创建一个数据库admin(可自行设置),然后创建一个用户也叫admin(可自行设置) 

     /bin目录下执行,可以看到版本号等信息。

    ./mongo (后面不带'd') 

     创建数据库

     -- 没有就创建数据库,有的话就是用数据库
    use admin;

     执行设置用户命令

    db.createUser({ "user" : "admin",
                    "pwd": "123456",
                    "roles" : [  {role:"userAdminAnyDatabase", db: "admin"},
                                 {role:"readWriteAnyDatabase", db: "admin"}
                            ]
                  },
                 { w: "majority" , wtimeout: 5000 }
                );

    role:表示角色,db:表示当前角色针对哪个数据库有效。
    比如设置了admin 那么这个用户的权限范围只在admin数据库有效;
    比如我设置 role:"readWrite", db:"mydb" 那么这个用户只能在mydb这个数据库有读写的权限
    但是MongoDB中提供了几个全局数据库的角色,例如上面的 userAdminAnyDatabase, readWriteAnyDatabase

     效果如下:

     

    重新打开一个shell窗口,进去/bin目录下

    ./mongo  -- 进入数据库命令
    -- 切换到admin数据库:
    use admin;
    -- 进行身份认证:
    db.auth("admin","123456");
    认证成功返回1,如果认证失败会提升相关的错误信息。
    --我们可以查看一下系统用户:
    db.system.users.find()

    效果:

     四、使用Datagrip连接数据库

     如果不使用账户密码登录,连接后数据库默认是test 。

    五、可视化工具简单操作一下

    -- 查看数据库
    show  dbs ;
    
     -- 没有就创建数据库,有的话就是用数据库
    use jiangjun ;
    
    -- 插入数据后才能查看到
    db.jiangjun.insert( { "name" :"将军上座"}) ;
    
    -- 查看集合
    show collections ;
    
    -- 创建集合
    db.createCollection('helloworld');
    
     /*创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。*/
    db.createCollection("mycol", { capped : true, autoIndexId : true, size :
       6142800, max : 10000 } )
    
    -- 当你插入一些文档时MongoDB会自动创建集合
    db.jiangjun2.insert({"name" : "自动创建了集合"});






    参考: https://blog.csdn.net/nimasike/article/details/48441945
  • 相关阅读:
    5js
    4js
    3js
    2js
    1js
    7css
    6css
    5css
    Django高级项目实战-开发企业级问答网站,学Django就这了
    Java日志第27天 2020.8.1
  • 原文地址:https://www.cnblogs.com/coloz/p/12710836.html
Copyright © 2020-2023  润新知