docker pull mongo 

docker run -v /docker/mongo/data:/data/db -v /docker/mongo/backup:/data/backup -v /docker/mongo/conf:/data/configdb --name mongo -p 27017:27017 -d mongo --auth


登录容器

docker exec -it mongo bash

登录

mongo admin

创建用户(如果报错有可能/docker/mongo 目录没有清空是上一次创建的库中已存在用户或登录方式需要授权方式。)

每个库都有自己的帐号

db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})

可选的角色

read
允许用户读取指定数据库
readWrite
允许用户读写指定数据库
dbAdmin
允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin
允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin
只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase
只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
root
只在admin数据库中可用。超级账号,超级权限


 



ctrl+c退出

以授权方式登录

mongo -u root 

输入密码root


查看数据库列表

show databases

查看当前数据库

db

创建数据库

use simple

注意当前并没有真正创建数据库,需要插入数据后才真正执行创建

插入一条数据

db.members.insertOne({"name":"zh"});

再执行show dbs

可以查看到数据库 siimple已创建

show tables

可以查到 members表已创建

db.members.find()

默认主键_id,可以显示指定

db.members.insertOne({_id:1,name:"zh"});




授权方式启动

mongod -auth