Contents
  1. 1. 1. 查找mongdb的安装位置
  2. 2. 2. 看一下mongodb是否已经启动
  3. 3. 3. 切换到bin目录下
  4. 4. 4. 关闭mongodb,可以直接杀进程号,也可以关闭服务
  5. 5. 5. 备份mongodb
  6. 6. 6. 恢复mongodb
  7. 7. 7. 创建用户

1. 查找mongdb的安装位置

find / -name mongo

/usr/local/mongodb-linux-x86_64-rhel62-3.4.1/bin/mongod

2. 看一下mongodb是否已经启动

netstat -nltp|grep mongod
ps -ef | grep mongo

tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 5062/mongod

3. 切换到bin目录下

cd /usr/local/mongodb-linux-x86_64-rhel62-3.4.1/bin
./ mongod –dbpath=/data/mongodata/rs3 –logpath=/data/mongodata/rs1/rs3.log –fork –port 27017
./mongod –auth –dbpath=/xxx/data/mongo –logpath=/xxx/data/mongo/mongo.log –fork
./bin/mongod -f config.conf –logappend
./bin/mongod –auth -f config.conf –logappend

–auth 是授权登录启动
配置文件:
dbpath=/data/mongodb/master
dbpath=/xxx/data/mongo
logpath=/xxx/log/mongo.log
fork=true
auth=true

dbpath是数据库路径
logpath是日志路径
fork 是后台启动
port 是指定端口

4. 关闭mongodb,可以直接杀进程号,也可以关闭服务

ps -ef|grep mongod
kill -4 5465
service mongod stop

5. 备份mongodb

./mongodump

会整库备份到当前目录下的dump下。
如果是需要认证登录的话,可以用下面命令备份

./mongodump -u root -p mypassword

6. 恢复mongodb

./mongorestore

同样会从dump目录下整库恢复

7. 创建用户

创建管理员

use admin
db.createUser({user:”root”,pwd:”mypassword”,roles:[{role:”root”,db:”admin”}]})
Successfully added user: {
“user” : “root”,
“roles” : [
{
“role” : “root”,
“db” : “admin”
}
]
}

创建某个数据库管理员

use xxx
db.createUser({user:”myusername”,pwd:”mypassword”,roles:[{role:”dbOwner”,db:”xxx”}]})

显示数据库列表

show dbs

显示用户列表

show users

删除用户

db.system.users.remove({user:”root”})

用户列表:

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__system

具体角色:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限

执行命令出错:
2017-11-25T23:54:48.862+0800 E QUERY [main] Error: listDatabases failed:{
“ok” : 0,
“errmsg” : “not authorized on admin to execute command { listDatabases: 1.0 }”,
“code” : 13,
“codeName” : “Unauthorized”
} :
必须先执行

db.auth(“root”,”mypassword”)

关闭数据库

db.shutdownServer()

Contents
  1. 1. 1. 查找mongdb的安装位置
  2. 2. 2. 看一下mongodb是否已经启动
  3. 3. 3. 切换到bin目录下
  4. 4. 4. 关闭mongodb,可以直接杀进程号,也可以关闭服务
  5. 5. 5. 备份mongodb
  6. 6. 6. 恢复mongodb
  7. 7. 7. 创建用户