MongoDB的用户权限和数据库是绑定的。也就是创建一个新的数据库,并在数据库中插入数据的正确操作应该是需要创建与之对应的用户,下面退出MongoDB命令行模式,重新进入:
1. 输入use admin,进入admin数据库,root用户需要在admin数据库中认证。
2. 输入db.auth('root','root')超级用户进行认证
3. 输入db.createUser({user: "okevin",pwd: "123456",roles: [ { role: "readWrite", db: "recommended" } ]} )创建okevin用户,并为它指定数据库为recommended。
4. 输入db.auth('okevin','123456')切换认证用户。
5. 输入use recommended切换至recommended数据库
6. 输入db.repo.insert({"name":"kevin"}),创建一条数据。
7. 输入show dbs,显示数据库
这才是创建一个数据库,并插入一条数据库的正确姿势,并且一定记住几点:
- 数据库和用户是绑定的,光创建一个超级用户并不能操作在其他新建的数据库中插入数据
- 在切换数据库时,先切换认证用户,不然会出现too many users are authenticated的错误。