前言
这篇文章整理了一下mongodb的基本指令和一些经常用到的用户操作,同时我还整理了关于linux、redis、Nginx、MySQL以及zookeeper等绝大多数后端开发所要用到的一些常用命令
如果需要的话可以进群973961276免费领取,除了操作命令整理合集之外还有1000多道一线大厂面试题和超多的学习书籍以及视频资料,都可以免费给到有需要的朋友。
用户权限
基本指令
mongo的操作指令一般是要在指定的一个库下面进行的。命令 参数 数据库等大小写敏感。
进入mongo命令:mongo 刚安装完mongodb是没有开启权限,没有用户的。
切换数据库:user admin 切换到amin数据库
显示当前数据库用户:show users
显示数据库:show dbs
推出momgodb:exit
刚安装完mongodb后,需要创建一个root权限的用户,然后修改配置文件开启权限验证,然后重启mongodb服务。
[root@wdq ~]# mongo
MongoDB shell version v4.2.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("4fea1f3b-05f9-4634-870a-ced1e95eaceb") }
MongoDB server version: 4.2.2
> use admin
switched to db admin
> db.createUser({user:"root",pwd:"root",roles:[ {role:"root", db:"admin" } ]})
创建用户
> db.auth("root","wdq123")
1
1表示成功
验证用户 相当于登录
用户操作
创建用户
db.createUser({user:"root",pwd:"root",roles:[ {role:"root", db:"admin" } ]})
user:用户名
pwd:用户密码
roles:用户权限,是一个数据(权限都要指定到库)
role:具体的一个权限
db:具体的一个库
Vi创建用户
比如说有一个CRM的库,我要给他创建用户。先切到CRM库上,在创建用户。
修改密码
> use ERP
switched to db ERP
> db.createUser({user:"crm",pwd:"crm",roles:[ {role:"dbOwner", db:"ERP" } ]})
Successfully added user: {
"user" : "crm",
"roles" : [
{
"role" : "dbOwner",
"db" : "ERP"
}
]
}
> db.changeUserPassword("crm","crm1")
> db.auth("crm","crm1")
1
> db.updateUser("crm",{pwd:"crm2"})
2019-12-25T23:16:50.575+0800 E QUERY [js] uncaught exception: Error: Updating user failed: too many users are authenticated :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.updateUser@src/mongo/shell/db.js:1420:11
@(shell):1:1
>
修改用户密码changeUserPassword
最后报错,因为db.auth多次。需要推出 exit。
> exit
bye
[root@wdq ~]# mongo
MongoDB shell version v4.2.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("3030ac06-bae6-41d6-b39a-d652af4d7c33") }
MongoDB server version: 4.2.2
> use admin
switched to db admin