01-MongoDB 基本命令

MongoDB 基本命令

一、基本概念

  • 数据库:db,类似于Mysql中的数据库,一个mongoDB里面可以有多个数据库
  • collection:集合,类似于mysql里面的表的概念,表内有很多记录,集合内也有很多记录
  • document:文档,类似于mysql的行,一个文档相当于一条记录
  • field:字段,和mysql的字段含义一样,mongodb中称为域
  • MongoDB不支持的:不支持表连接

二、程序命令

  • 远程连接:mongo 远程主机ip或DNS:MongoDB端口号/数据库名 -u user -p password
  • 无密码连接:mongo 192.168.1.100:27017/test
  • mongodb自带客户端:mongo --host xxx --port xxxx
  • 启动Mongodb服务:mongod -f xx.conf

三、MongoDB数据库操作

  • 查询数据库:show dbs;
  • 使用数据库:use xxx;
  • 显示当前使用的数据库:db
  • 查询表内数据:db.tableName.find() — 无条件查询,find内可以带条件
  • 查索引:db.COLLECTION_NAME.getIndexes()
  • 查询数据表:show tables;
  • 删除数据:db.getCollection(‘face’).remove({})
  • 修改数据:db.col.update({‘title’:‘123’},{$set:{‘title’:‘456’}})将title为1 23的文档修改为456
  • 创建索引:db.col.createIndex({“title”:1})
  • 创建索引:db.values.createIndex({open: 1, close: 1}, {background: true})
  • 监控命令:mongostat -rowcount 200 1 -h 192.168.xx.1 --port 27017

四、MongoDB备份

4.1 备份一个库

  • 命令格式
mongodump  -h 127.0.0.1:47017  -d dnName  -o /localFolder/bak/
  • 命令示例
mongodump  -h 192.168.11.119  --port 27017 -u username -p password -d dbName  -o  ../mongodbbak
  -o后面是本地的备份文件存放路径

4.2 备份一个集合

  • 命令格式
mongodump  -h 127.0.0.1:47017  --collection collName -d testDbOne  -o /home/bak/
  • 命令示例
./mongodump.exe  -h  192.168.11.43:27017  --collection multobj -d ifaas_data  -u ifaas_data -p introcks1234 -o ../mongodbbak/
  • 可以使用–query参数指定一个json的条件表达式,只备份指定条件的数据,具体命令参数可以通过./mongodump --help查看

五、MongoDB恢复

  • 命令格式
mongorestore -h <hostname><:port> -d dbname  --drop: <path> 
  --drop可以在恢复时删除原有数据
最后面的path是备份文件的全路径,或者直接--dir指定备份文件夹,二选一
 
  • 命令示例
./mongorestore -h 192.168.11.244:31000 -u ifaas_data -p introcks1234 -d ifaas_data ../mongodbbak/ifaas_data/
./mongodump.exe -h 192.168.11.147 -d ifaas_data  -u ifaas_data -p introcks1234 -o ../mongodbbak
  • 可以通过 --verbose 看到更多详细的输出
  • 可以通过–numInsertionWorkersPerCollection=10指定同时使用10个线程恢复数据
  • 具体命令参数可以通过./mongorestore --help查看

六、Mongodb的关闭

  • 安全关闭mongodb

6.1 使用mongod命令关闭

    使用mongod命令shutdown的安全停止方式
 use admin;
 db.shutdownServer();

6.2 使用kill关闭

kill -2 pid // 表示向mongod进程发送sigint信号
kill -4 pid // 表示向mongod进程发送sigterm信号
其中pid是mongodb的进程号, mongod进程收到sigint信号或者sigterm信号,会做一些处理:关闭所有打开的连接;
将内存数据强制刷新到磁盘,当前的操作执行完毕;

七、运行mongodb实例

7.1 创建mongodb配置文件

systemLog:
  destination: file
  path: /home/intellif/mongodbdata/log/mongoSys.log
  logAppend: true
storage:
  journal:
    enabled: true
  dbPath: /home/intellif/mongodbdata/data
  directoryPerDB: true
  wiredTiger:
    engineConfig:
      cacheSizeGB: 10.0
      directoryForIndexes: true
    collectionConfig:
      blockCompressor: zlib
    indexConfig:
      prefixCompression: true
net:
  bindIp: 192.168.13.53
  port: 27017
processManagement:
  fork: true
operationProfiling:
   mode: slowOp
   slowOpThresholdMs: 10
   slowOpSampleRate: 0.5

7.2 运行

./bin/mongod -f ./mongodb.conf

7.3 创建库和用户

1.连接mongo --host ip --port port
2.创建库:use mzp
3.创建对应的用户:
> db.createUser(
...     {
...         user:"mzp",
...         pwd:"mzp",
...         roles:[{role:"readWrite",db:"mzp"}]
...     }
... )

//----------------------------------------
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
> 
> 
> use mzp
switched to db mzp
> db.createUser(
...     {
...         user:"mzp",
...         pwd:"mzp",
...         roles:[{role:"readWrite",db:"mzp"}]
...     }
... )
Successfully added user: {
	"user" : "mzp",
	"roles" : [
		{
			"role" : "readWrite",
			"db" : "mzp"
		}
	]
}
> 

4.连接:./bin/mongo 192.168.13.53:27017/mzp -u mzp -p mzp
5.创建集合:db.createCollection("info")
6.插入记录:db.info.insert({name:"mozping"})
6.查询:db.getCollection('info').find({})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值