进入数据库
kubectl exec -it mongodb-configsvr-0 -- mongo mongodb/tstack_cmdb_prod -u tpcloud -p tpcloud@123 --authenticationDatabase admin
备份数据库
kubectl exec -it mongodb-mongos-5d68f499df-5l7mn -- mongodump --username tpcloud --password tpcloud@123 --authenticationDatabase admin -o sip-mongo-xxxx
查询所有数据库
show dbs
切换数据库
use xxx
列出当前数据库所有信息
## 第一种
show collections
## 第二种
db.getCollection('数据库名')
更新记录数据
## 第一种
db.resource.update({"key":"value"},{$set:{"key1":"value1","key2":"value2"}})
## 第二种
db.db.getCollection('数据库名').update({"key":"value"},{$set:{"key1":"value1","key2":"value2"}})
删除某一条记录的字段
## 第一种
db.resource.update({"key":"value"},{$set:{"key1":"","key2":""}})
## 第二种
db.db.getCollection('数据库名').update({"key":"value"},{$set:{"key1":"","key2":""}})
指定查找某一数据库信息
db.db_name.find() //加".pretty()"是将数据格式化显示
指定查找某一个数据中的某个字段
db.db_name.find({"uuid":"xxxx"}).pretty()
给数据库某字段加索引
## 前台加索引
db.t_inst__Region.createIndex({"name": 1})
## 数据量大后台加索引
db.t_inst__Region.createIndex({"name": 1},{background: true})
添加数据
db.vm_service.insert(
[
{"id": 11},
{"name": "张三"}
]
)
恢复备份数据
#将文件备份到pod里
kubectl exec -it mongodb-mongos-5d68f499df-5l7mn -- mongodump --username tpcloud --password tpcloud@123 --authenticationDatabase admin -o sip-mongo-20210915
#从pod里将文件复制出来
kubectl cp mongodb-mongos-5d68f499df-5l7mn:sip-mongo-20210915 sip-mongo-20210915
#恢复命令
mongorestore --username tpcloud --password tpcloud@123 --authenticationDatabase admin -d auto-scaling-service --drop sip-mongo-2021-7-7/auto-scaling-service/