dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2165
  • 铜币13236枚
  • 威望5838点
  • 银元150个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
阅读:1363回复:2

[其它] 常用 mongo 命令

楼主#
更多 发布于:2016-10-20 10:21
mongo 命令

1. 进入 mongo shell
mongo 127.0.0.1
MongoDB shell version: 3.2.9
connecting to: test

2. 当前数据库
> db
test

3. 使用admin库
> use admin
switched to db admin

4. 创建用户
#超级用户
> db.createUser({user:'root',pwd:'password', roles:[{role:'userAdminAnyDatabase', db:'admin'}]})
#库管理员
> use hyh
> db.createUser({user:'hyh',pwd:'hyh@ywwd.net',roles:[{role:"dbAdmin",db:"hyh"}]})

5. 认证
> db.auth('root','root@ywwd.net')
#0:代表授权失败, 1:代表授权成功

6. 列出所有库
> show dbs;
admin  0.000GB
local  0.000GB

7. 列出所有用户
> show users;
{
    "_id" : "admin.root",
    "user" : "root",
    "db" : "admin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

8. 删除账户
> db.removeUser('hyh')
WARNING: db.removeUser has been deprecated, please use db.dropUser instead
true

9. 更改账户密码
> db.changeUserPassword('hyh','ywwd.net')

扩展docker 创建 mongodb 容器

更多参考The mongo Shell
#
dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2165
  • 铜币13236枚
  • 威望5838点
  • 银元150个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
沙发#
发布于:2016-10-25 10:27
mongodb 权限配置问题
问题描述
使用 dbadmin 权限插入数据,提示 not authorized on test to execute command

解决方法
#添加读写权限
使用库
use admin

授权
db.grantRolesToUser("dongnan",["readWrite"])

验证
db.getUser('dongnan')
{
    "_id" : "dongnan.dongnan",
    "user" : "dongnan",
    "db" : "dongnan",
    "roles" : [
        {
            "role" : "readWrite",
            "db" : "dongnan"
        },
        {
            "role" : "dbAdmin",
            "db" : "dongnan"
        }
    ]
}

插入数据
use dongnan
db.auth('dongnan','password')
db.spider_engine.insert({"name":"test","code":""})


#
dongnan
总版主
总版主
  • 粉丝52
  • 发帖数2165
  • 铜币13236枚
  • 威望5838点
  • 银元150个
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 原创写手
板凳#
发布于:2016-11-02 17:45
登录远程mongodb 服务器
举个例子:登录远程mongodb 服务器
mongo mongo_server_ip/admin -u hyh -p

参数
mongo --help
MongoDB shell version: 3.2.9
usage: mongo [options] [db address] [file names (ending in .js)]
db address can be:
  foo                   foo database on local machine
  192.169.0.5/foo      foo database on 192.168.0.5 machine
  192.169.0.5:9999/foo  foo database on 192.168.0.5 machine on port 9999
Options:
  --shell                             run the shell after executing files
  --nodb                              don't connect to mongod on startup - no
                                      'db address' arg expected
  --norc                              will not run the ".mongorc.js" file on
                                      start up
  --quiet                             be less chatty
  --port arg                          port to connect to
  --host arg                          server to connect to
  --eval arg                          evaluate javascript
  -h [ --help ]                       show this usage information
  --version                           show version information
  --verbose                           increase verbosity
  --ipv6                              enable IPv6 support (disabled by default)
  --disableJavaScriptJIT              disable the Javascript Just In Time
                                      compiler
  --enableJavaScriptProtection        disable automatic JavaScript function
                                      marshalling
  --ssl                               use SSL for all connections
  --sslCAFile arg                     Certificate Authority file for SSL
  --sslPEMKeyFile arg                 PEM certificate/key file for SSL
  --sslPEMKeyPassword arg             password for key in PEM file for SSL
  --sslCRLFile arg                    Certificate Revocation List file for SSL
  --sslAllowInvalidHostnames          allow connections to servers with
                                      non-matching hostnames
  --sslAllowInvalidCertificates       allow connections to servers with invalid
                                      certificates
  --sslFIPSMode                       activate FIPS 140-2 mode at startup

Authentication Options:
  -u [ --username ] arg               username for authentication
  -p [ --password ] arg               password for authentication
  --authenticationDatabase arg        user source (defaults to dbname)
  --authenticationMechanism arg       authentication mechanism
  --gssapiServiceName arg (=mongodb)  Service name to use when authenticating
                                      using GSSAPI/Kerberos
  --gssapiHostName arg                Remote host name to use for purpose of
                                      GSSAPI/Kerberos authentication

#
游客

返回顶部