1. 程式人生 > >Centos7 下mongodb 3.6.6 基礎操作

Centos7 下mongodb 3.6.6 基礎操作

性能 數據存儲 0.10 分布 role 基礎操作 介紹 配置文件 另一個

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")   ##進行驗證

Centos7 下mongodb 3.6.6 基礎操作