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
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: 指定备份的目录