MongoDB-数据库操作

在上一节中主要说的是数据库的介绍,安装以及基本的命令
这一节主要说数据库的操作。比如:创建数据库,展示所有数据库,数据库命名规则,数据库备份与恢复,数据库监测等

创建数据库

1
2
3
use  databaseName
e.g. 创建一个名字为stu的数据库
use stu

use实际为选择使用哪个数据库,当数据库不存在时会自 动创建
use 后并不会立即创建出数据库,而是需要等到插入数 据时数据库才会创建

查看系统中的数据库

1
2
3
show dbs

show databasees

系统数据库说明
admin : 存储用户信息
local : 存储本地数据
config : 存储分片信息

数据库命名规则

  1. 使用 utf-8 字符 (mongo默认支持utf-8)
  2. 不能含有 空格 . / \ '\0' 字符
  3. 长度不超过 64 字节
  4. 不能和系统数据库重名

db : mongodb的全局量,代表当前正在使用的数据库

如果不选择使用任何数据库db代表test,直接插入数据就会建立test数据库

删除数据库

1
db.dropDatabase()

删除db所代表的数据库

数据库的备份和恢复

备份和恢复数据的命令跟mongo都是shell命令,并不是Mongo Shell命令

备份

1
2
3
4
mongodump  -h host  -d  dbname -o  bak

e.g. 将本机test数据库备份到bak目录下
mongodump -h 127.0.0.1 -d test -o bak

恢复

1
2
3
4
mongorestore  -h  dbhost:port -d  dbname path

e.g. 将test数据库恢复到本机的res数据库中(res不存在自动创建)
mongorestore -h 127.0.0.1:27017 -d res bak/test

数据库的监测

监测数据库运行数据

1
mongostat  

常用的检测的字段含义

字段 含义
insert 每秒增加的次数
query 每秒查的次数
update 每秒改的次数
delete 每秒删的次数
flushes 每秒和磁盘交互次数
vsize 虚拟内存
res 物理内存
time 时间

监控数据库读写时长

1
mongotop

常用的检测的字段含义

字段 含义
ns 数据表
total 总时间
read 读时间
write 写时间