数据库生态圈(RDB & NoSQL & Bigdata)——专注于关系库优化(Oracle & Mysql & Postgresql & SQL Server )

https://www.cnblogs.com/lhdz_bj
http://blog.itpub.net/8484829
https://blog.csdn.net/tuning_optmization
https://www.zhihu.com/people/lhdz_bj

导航

mongodb管理命令

1.复制集合(collection)
1)从远端mongodb复制
# mongo 10.10.10.2:27017/db_test -u "test" -p "test"
> db.tab1.find();
> db.tab1.getIndexes();

# mongo
> use db_test
> db.tab1.find();
> db.tab1.getIndexes();

> db.runCommand(cloneCollection:"db_test.tab1",from:"10.10.10.2:27017");
--注:
  1)默认复制集合中的所有数据和索引,并将数据和索引附加于本地集合.
> db.runCommand(cloneCollection:"db_test.tab1",from:"10.10.10.2:27017",copyIndexes:false);
--注:
  1)上述命令设置为只复制集合数据,而并不复制集合上的索引.

> db.tab1.find();
> db.tab1.getIndexes();

2)从本地mongodb复制
# mongo
> use db_test
> db.tab1.find().forEach(function(x){db.tab2.insert(x)});

2.复制数据库(database)
1)从远端mongodb复制
# mongo 10.10.10.2:27017/db_test -u "test" -p "test"
> show dbs;
> use db_test1
> show collections;

# mongo
> show dbs;

> db.copyDatabase("db_test1","db_test1","10.10.10.2:27017","test","test");

2)从本地mongodb复制
# mongo
> show dbs;

> db.copyDatabase("db_test1","db_test2");

3.刷新磁盘
--将内存数据与磁盘同步,期间,会阻止写操作,但允许读操作.
# mongo
> use admin
--同步刷新
> db.runCommand({fsync:1});
--异步刷新
> db.runCommand({fsync:1,async:true});

--备份前刷新并显示锁住库
> use admin
> db.runCommand({fsync:1,lock:1});
> db.cuurentOp();
--执行数据库备份
--备份后解锁数据库
> db.$cmd.sys.unlock.findOne();
> db.currentOp();

4.捕获异常
1)返回异常信息
# mongo
> db.getLastError();

2)确认复制信息
# mongo
--确保之前的操作已被复制到包括主库在内的两个成员库上
# db.runCommand( { getLastError: 1, w: 2, wtimeout:5000 } )

5.进程监控
1)查看活动进程
# mongo
> db.currentOp();
> db.$cmd.sys.inprog.findOne();
--注(输出结果):
  1)opid:操作进程号.
  2)op:操作类型(读写).
  3)ns:操作数据库及集合.
  4)query:查询内容和条件.
  5)inLock:锁类型.-1:读锁;0:无锁;1:写锁.
2)结束进程
# mongo
> db.killOp(shard1:188);
> db.$cmd.sys.killop.findOne({op:188});

6.验证集合(collection)
# mongo
> use db_test
> db.tab1.validate();

--注(输出结果):
  1)ns:校验的数据库和集合名.
  2)result:校验结果的详细信息.
  3)ok:命令执行状态.1:成功.
  4)valid:校验结果,true为集合有效.
  5)lastExtentSize:集合最后一个extent的大小.
 
7.数据压缩
# mongo
> db.tab1.totalSize();
> db.repairDatabase();
> db.tab1.totalSize();

posted on 2020-12-14 18:08  lhdz_bj  阅读(64)  评论(0编辑  收藏  举报