blovekyo 发表于 2018-10-24 11:27:25

Centos7 下mongodb 3.6.6 基础操作

Centos7 下 mongodb 3.6.6 的基本操作

mongodb 介绍
  MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
  MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引

开启多实例
  

cp -p /etc/mongod.conf /etc/mongod2.conf  
## 复制一份配置文件给第二个实例
  
vim /etc/mongod2.conf##配置实例
  path: /data/mongodb/mongod2.log##日志文件位置
  dbPath: /data/mongodb/mongo    ##数据位置
  port: 27018      ##不同实例的端口不同
  

  
mkdir -p/data/mongodb/##创建数据文件夹
  
cd /data/mongodb/
  
mkdir mongo
  
touch mongod2.log   ##创建日志文件
  
chmod 777 mongod2.log    ##给予日志文件权限
  

  
mongod -f /etc/mongod2.conf   ##开启第二份实例
  
mongo --port 27018   ##进入数据库
  

基本操作
  

> use mydb;## 创建数据库 ,不存在会创建,不建立集合又会删除  

  
> db.createCollection('a')##创建集合
  
> db.a.insert({"id":1,"name":"zhangsan"})## 在集合中插入数据
  
> db.a.find()## 查看集合中的数据
  
> a=db.users.findOne({"id":2})      ##查找指定记录并赋予别名a
  
> typeof(a.id)   ##查看属性类型
  
> db.users.update({"id":10},{$set:{"name":"tom"}})##更改数据
  
> show collections##查看集合
  
> db.a.drop()    ##删除集合
  
> db.dropDatabase() ##删除数据库
  
> db.copyDatabase("mydb","mydb1")##复制数据库
  

导入导出数据
  

mongoexport -d kgc -c users -o /opt/users.json    ##导出  
mongoimport -d kgc -c user1 --file users.json   ##导入
  
mongoexport -d kgc -c user1 -q '{"id":{"$eq":10}}' -o /opt/top10.json   ##根据条件进行操作
  

  

备份与恢复
  

mkdir /backup  
mongodump -d kgc -o /backup/##备份
  
mongorestore -d kgc2 --dir=/backup/kgc##恢复
  

克隆集合
  

mongo --port 27018    ##进入另一个实例  
db.runCommand####({"cloneCollection":"kgc.users","from":"192.168.100.100:27017"})
  
## 完成克隆
  

创建管理用户
  

  
> use admin
  
> db.createUser({"user":"root","pwd":"123","roles":["root"]})   ##用户名,密码,权限
  
> db.auth("root","123")   ##进行验证


页: [1]
查看完整版本: Centos7 下mongodb 3.6.6 基础操作