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 })

  

 

 

附录

几种登录方式

  1. 无密码登陆本机部署的mongos路由服务 ,端口为27017

mongo --port 27017

  1. 使用用户名密码登陆

/mongodb_common/bin/mongo --port 27017 -uadmin -padmin12345

 

  1. 登陆远程主机

./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> 

 

posted on 2020-03-17 15:24  li7  阅读(8312)  评论(0编辑  收藏  举报