## 安装mongo ```shell docker pull mongo ``` ## 初始化容器 ```shell docker run -d -p 27017:27017 -v /data/mongo/database:/data --name mongo mongo --auth ``` **解释下参数**: `-p`: 把容器中的docker的端口映射到真实的服务器, 语法: `服务器端口 : 容器内端口` `-v`: 把容器中的docker的存储目录映射到真实的服务器目录, 语法: `服务器真实文件夹 : 容器内目录` `--name`: 给容器起个名, 这样后面`docker exec`的时候, 可以直接使用这里起的名字, 我们这里起名"mongo" `--auth`: 默认mongo不需要用户密码也是可以登陆的, 只有开启了auth, 才能保证只有有权限的账号能登陆. ## 进入mongo容器 ```shell docker exec -it mongo /bin/bash ``` ## 创建账户 1. 先打开mongo ```shell mongo ``` 2. 进入mongo命令行后, 首先切换到admin库. admin是默认存在的库. ```shell use admin ``` 3. 进入admin库后就可以开始创建账户了. ```javascript db.createUser({ user: "root", pwd: "xxxxxx", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) ``` 这里创建了用户root, 密码为'xxxxxx', 角色为"可以"管理"所有数据库的管理员", **注意这里的"管理"不包括"增删改查"**, 所以请继续往下看. ### 给其他库授权 刚刚我们只是给了"root"用户管理所有数据库的权限,但是不包括"增删改查", 接下来我们给"root"用户对"xxxDB"的所有控制权限, 这权限对应的角色"dbOwner". ```javascript db.grantRolesToUser('root',[{role:'dbOwner',db:'xxxDB'}]) ``` ### 退出命令(exit) 退出mongo和退出容器的命令都是: ``` shell exit ```
Activity
[-]mongo的授权语法[/-][+]docker安装mongo[/+]