Mongodb 日常维护命令集
常用的库、集合的命令:
-
查询所有数据库:show dbs;或show databases;
-
切换/创建数据库:use 库名;
-
查看目前所在的数据库:db;
-
查看MongoDB目前的连接信息:db.currentOp();
-
查看当前数据库的统计信息:db.stats();
-
删除数据库:db.dropDatabase("库名");
-
查看库中的所有集合:show collections;或show tables;
-
显式创建集合:db.createCollection("集合名");
-
查看集合统计信息:db.集合名.stats();
-
查看集合的数据大小:db.集合名.totalSize();
-
删除指定集合:db.集合名.drop();
-
命令行连接
mongo --host --port
-
查看当前数据库
db
-
显示所有的数据库
show dbs
-
切换到目标数据库
use <database_name>
-
检查当前用户权限
db.getUser("your_username")
-
查看数据库中所有的用户
use mydatabase
db.getUsers()
-
验证用户
db.auth("testuser", "password123")
-
使用用户身份登录
mongo --host --port -u "testuser" -p "password123" --authenticationDatabase "<database_name>"
-
使用 mongosh 或 mongo 命令行工具
mongo "mongodb://user:password@192.168.249.112:2001,192.168.249.112:2002,192.168.249.112:2003"
-
指定认证数据库:
mongo "mongodb://user:password@192.168.249.112:2001,192.168.249.112:2002,192.168.249.112:2003/?authSource=admin"
-
指定目标数据库:
mongo "mongodb://user:password@192.168.249.112:2001,192.168.249.112:2002,192.168.249.112:2003/mydatabase?authSource=admin"
-
查看索引
db.getCollection("2025-04.files").getIndexes()
db["2025-04.files"].getIndexes()
副本集
-
查看副本集状态
rs.status()
-
检查副本集是否是 primary
db.isMaster()
-
查看副本集的配置信息
rs.conf()
-
修改成员优先级
var config = rs.conf()
config.members[1].priority = 2
rs.reconfig(config)
-
添加/删除副本集成员
rs.add("192.168.1.4:27020")
rs.remove("192.168.1.3:27019")
-
查看当前 oplog 大小 切换到 local 数据库并查看 oplog 大小:
use local
db.oplog.rs.stats().maxSize
或
db.printReplicationInfo();