mongodb 系统命令总结

1.连接mongodb

mongo ip/dbname -u username -p password

#mongo -u admin -p admin 127.0.0.1:27017/pagedb  

 

2.查看全部数据库

show dbs;  

创建数据库

use new_db_name; 

 

3.查看当前数据库的集合

show collections; 

 

4.查看当前数据库的用户信息

show users; 

 

5.切换数据库

use <db name>;   

 

6.查看当前所在数据库

db; 或者 db.getName(); 

 

7.查看数据库操作帮助命令

db.help(); 

 

8.查看集合操作帮助命令,

# foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
db.foo.help(); 

 

9.查看当前db版本

db.version();

 

10.查看当前db的链接机器地址

db.getMongo();

replica:PRIMARY> db.getMongo();
connection to 127.0.0.1:27017

 

11.查看当前db状态

db.stats();

replica:PRIMARY> db.stats();
{
        "db" : "test",       
        "collections" : 7,        
        "views" : 0,
        "objects" : 40737,            
        "avgObjSize" : 505.40687826791367,    
        "dataSize" : 20588760,        
        "storageSize" : 5783552,    
        "numExtents" : 0,
        "indexes" : 23,
        "indexSize" : 4513792,
        "fsUsedSize" : 13470052352,
        "fsTotalSize" : 20982611968,
        "ok" : 1,
        "operationTime" : Timestamp(1671619161, 5),
        "$clusterTime" : {
                "clusterTime" : Timestamp(1671619161, 5),
                "signature" : {
                        "hash" : BinData(0,"8oh4rxVATzljLC8b6qBkpjvB8uI="),
                        "keyId" : NumberLong("7138723506992185345")
                }
        }
}

  "db" : "test", 表示当前是针对"test"这个数据库的名称

  "collections" : 7,表示当前数据库有多少个collections.可以通过运行show collections查看当前数据库具体有哪些collection.

  "objects" : 40737,表示当前数据库所有collection总共有多少行数据。显示的数据是一个估计值,并不是非常精确。

  "avgObjSize" : 505,表示每行数据是大小,也是估计值,单位是bytes

  "dataSize" : 20588760,表示当前数据库所有数据的总大小,不是指占有磁盘大小。单位是bytes

  "storageSize" : 5783552,表示当前数据库占有磁盘大小,单位是bytes,因为mongodb有预分配空间机制,为了防止当有大量数据插入时对磁盘的压力,因此会事先多分配磁盘空间。

  "indexes" : 23, 表示总的索引数量

  "indexSize" : 4513792,表示索引占有磁盘大小。单位是bytes

  "fsUsedSize" : 13470052352,,表示当前磁盘已使用的空间大小

  "fsTotalSize" : 20982611968,磁盘总的大小

 

12.查看collection的状态

db.collection.stats()

 

13.查看各db的大小

replica:PRIMARY> show dbs;
admin               0.000GB
config              0.000GB
test                0.001GB
dev                    0.000GB
local               1.455GB

 

14.MongoDB 备份

mongodump -h <dbhost> -d <dbname> -o <dbdirectory>

  -h:MongDB所在服务器地址,例如:127.0.0.1或localhost,当然也可以指定端口号:127.0.0.1:27017

  -d:需要备份的数据库实例名,例如:users

  -o:指定备份的数据存放的目录位置,例如:/root/mongdbbak/,当然该目录需要提前建立,在备份完成后,系统自动在/root/mongdbbak/目录下建立一个users目录,这个目录里面存放该数据库实例的备份数据。数据形式是以JSON的格式文件存储。

  例如:

mongodump -h localhost -d users -o /root/mongdbbak/

 

15.mongodDB恢复

mongorestore -h <hostname><:port> -d dbname <path>

#eg
mongorestore -h localhost -d users --dir /root/mongdbbak/users

  --host <:port>, -h <:port>: MongoDB所在服务器地址,默认为:localhost:27017

  -d : 需要恢复的数据库实例名,例如:users,当然这个名称也可以和备份时候的不一样,比如user2

  --dir: 指定备份的目录

 

 

posted @ 2020-03-24 14:52  香吧香  阅读(120)  评论(0编辑  收藏  举报