|
xshell 登录到 MongoDB电脑
进入到目录下
[root@node127 console]# cd mongodb_common/
[root@node127 mongodb_common]# ls
bin
GNU-AGPL-3.0
journal
LICENSE-Community.txt
mongodb_common-1.3.4.0.9.1-linux.rhel.7.amd64-release.tar.gz
MPL-2
README
VERSION
[root@node127 mongodb_common]# cd bin/
[root@node127 bin]# ls
bsondump mongod mongofiles mongorestore mongotop
install_compass mongodump mongoimport mongos
mongo mongoexport mongoreplay mongostat
登录
[root@node127 bin]# ./mongo --port 27017
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("233f49fd-be88-4de1-8368-3a17b8671dde") }
MongoDB server version: 4.0.9
进入 admin 数据库,然后认证 账号 密码
mongos> use admin
switched to db admin
mongos> db.auth('admin','admin!123')
1
创建用户和数据库,然后插入数据
mongos> db.createUser({user: "apple",pwd: "111111",roles: [ { role: "dbOwner", db: "autotest" } ]} )
Successfully added user: {
"user" : "apple",
"roles" : [
{
"role" : "dbOwner",
"db" : "autotest"
}
]
}
mongos> db.auth('apple','111111')
1
mongos> use autotest
switched to db autotest
mongos> db.city.insert({city_id: NumberLong("1"),city:"beijing"})
WriteResult({ "nInserted" : 1 })
mongos> db.city.insert({city_id: NumberLong("2"),city:"shanghai"})
WriteResult({ "nInserted" : 1 })
查询数据
mongos> db.city.find()
{ "_id" : ObjectId("5e7c4a3c89da5f03d4886442"), "city_id" : NumberLong(1), "city" : "beijing" }
{ "_id" : ObjectId("5e7c4b2989da5f03d4886443"), "city_id" : NumberLong(2), "city" : "shanghai" }
删除数据
db.city.remove({});
WriteResult({ "nRemoved" : 4 })
附录
几种登录方式
- 无密码登陆本机部署的mongos路由服务 ,端口为27017
- 使用用户名密码登陆
/mongodb_common/bin/mongo --port 27017 -uadmin -padmin12345
- 登陆远程主机
./mongo 142.16.122.71:27017/admin -uadmin -padmin12345
解析:142.16.122.71:27017为主机名(IP)、端口。admin 为登陆的数据库
|
命令
|
说明
|
|
show dbs
|
查看全部数据库
|
|
show collections
|
显示当前数据库中的集合(类似关系数据库中的表)
|
|
show users
|
查看当前数据库的用户信息
|
|
use <db name>
|
切换数据库跟mysql一样
|
|
db 或者db.getName()
|
查看当前所在数据库
|
|
db.help()
|
显示数据库操作命令,里面有很多的命令
|
|
db.foo.help()
|
显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
|
|
db.foo.find()
|
对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
|
|
db.foo.find( { a : 1 } )
|
对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
|
|
rs.status()
|
查看副本集状态。
|
|
db.status()
|
查看数据库状态。
|
|
角色
|
权限
|
说明
|
|
数据库用户角色
|
read
|
提供了读取所有非系统集合,以及系统集合中的system.indexes, system.js, system.namespaces
|
|
readWrite
|
包含了所有read权限,以及修改所有非系统集合的和系统集合中的system.js的权限
|
|
数据库管理角色
|
dbOwner
|
数据库的全部权限
|
|
dbAdmin
|
一些数据库对象的管理操作
|
|
userAdmin
|
为当前用户创建、修改用户和角色。拥有userAdmin权限的用户可以将该数据库的任意权限赋予任意的用户
|
|
集群管理权限
|
admin
|
数据库包含了下面的角色,用户管理整个系统,而非单个数据库。这些权限包含了复制集和共享集群的管理函数
|
|
clusterAdmin
|
提供了最大的集群管理功能。相当于clusterManager, clusterMonitor, and hostManager和dropDatabase的权限组合
|
|
clusterManager
|
提供了集群和复制集管理和监控操作。拥有该权限的用户可以操作config和local数据库(即分片和复制功能)
|
|
clusterMonitor
|
仅仅监控集群和复制集
|
|
hostManager
|
提供了监控和管理服务器的权限,包括shutdown节点,logrotate, repairDatabase等
|
|
所有数据库角色
|
readAnyDatabase
|
具有read每一个数据库权限。但是不包括应用到集群中的数据库
|
|
readWriteAnyDatabase
|
具有readWrite每一个数据库权限。但是不包括应用到集群中的数据库
|
|
userAdminAnyDatabase
|
具有userAdmin每一个数据库权限,但是不包括应用到集群中的数据库
|
|
dbAdminAnyDatabase
|
提供了dbAdmin每一个数据库权限,但是不包括应用到集群中的数据库
|
|
超级管理员权限
|
root
|
dbadmin到admin数据库、useradmin到admin数据库以及UserAdminAnyDatabase。但它不具有备份恢复、直接操作system.*集合的权限,但是拥有root权限的超级用户可以自己给自己赋予这些权限
|
|
备份恢复角色
|
backup、restore
|
|
进入bin目录
[root@node127 bin]# ls
bsondump mongo mongodump mongofiles mongoreplay mongos mongotop
install_compass mongod mongoexport mongoimport mongorestore mongostat
无密码登录本机部署的mongos路由服务
[root@node127 bin]# ./mongo --port 27017
MongoDB shell version v4.0.9
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("648db192-0bb0-4737-83e4-ba6187c9971b") }
MongoDB server version: 4.0.9
mongos>
切换数据库,数据库:admin。然后输入账号密码
mongos> use admin
switched to db admin
mongos> db.auth('admin','admin!123')
1
mongos>
来源:https://www.cnblogs.com/l7planet/p/12510940.html |