MongoDB安裝與操做大全

簡介mongodb

  1. MongoDB是一個基於分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。
  2. MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。它支持的數據結構很是鬆散,是相似json的bson格式,所以能夠存儲比較複雜的數據類型。Mongo最大的特色是它支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持對數據創建索引。

特色數據庫

  • 面向集合存儲,易存儲對象類型的數據。
  • 模式自由。
  • 支持動態查詢。
  • 支持徹底索引,包含內部對象。
  • 支持查詢。
  • 支持複製和故障恢復。
  • 使用高效的二進制數據存儲,包括大型對象(如視頻等)。
  • 自動處理碎片,以支持雲計算層次的擴展性。
  • 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
  • 文件存儲格式爲BSON(一種JSON的擴展)。
  • 可經過網絡訪問。
    適用場景
  • 網站數據
  • 緩存
  • 大尺寸、低價值的數據
  • 高伸縮性的場景
  • 用於對象及JSON 數據的存儲
  • 高度事務性的系統
  • 傳統的商業智能應用
  • 須要SQL 的問題
    1、MongoDB安裝
    一、添加yum源json

    vim /etc/yum.repos.d/mongodb-org.repovim

    [mongodb-org]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
    二、安裝mongodb緩存

    yum list
    yum install mongodb-org -y網絡

    三、編輯配置文件數據結構

    vim /etc/mongod.conf #yum 安裝的配置文件在/etc下分佈式

port: 27017 #監聽端口
bindIp: 0.0.0.0 #監聽地址
MongoDB安裝與操做大全
四、開啓服務ide

systemctl start mongod.service #方法一
mongod -f /etc/mongod.conf #方法二
netstat -anpt | grep 27017 #查看端口性能

MongoDB安裝與操做大全
五、關閉服務

mongod -f /etc/mongod.conf --shutdown #方法一
kill-9 進程號 #方法二

六、進入數據庫
MongoDB安裝與操做大全
2、多實例操做
一、編輯實例2的配置文件

cd /etc/
cp -p mongod.conf mongod2.conf #複製配置文件
vim mongod2.conf #修改配置文件

path: /data/mongodb/mongod2.log
 dbPath: /data/mongodb/mongod2
  port: 27018

二、建立日誌文件、數據文件存放目錄

mkdir -p /data/mongodb/
cd /data/mongodb/
mkdir mongod2
touch mongod2.log
chmod 777 mongod2.log

MongoDB安裝與操做大全
三、開啓實例2

mongod -f /etc/mongod2.conf

MongoDB安裝與操做大全

四、查看端口

netstat -ntap

MongoDB安裝與操做大全
4、基本操做命令
#增

//不存在會建立,不創建集合會刪除
use mydb;
//插入數據
db.createCollection('a');
db.a.insert ({"id":1,"name":"zhang1"});
for (var i=2;i<=100;i++)db.a.insert({"id":i,"name":"zhang"+i});

MongoDB安裝與操做大全
#查

//查看數據庫
show dbs;
//查看集合
show collections;/show tables;

MongoDB安裝與操做大全

//查看信息
db.a.find();
//篩選查看
db.a.findOne({"id":3});

MongoDB安裝與操做大全

//別名篩選查看
c=db.a.findOne({"id":5});
//查看類型
typeof(c.id);

MongoDB安裝與操做大全
#改

//更改
db.users.update({"id":3},{$set:{"name":"tom"}});

MongoDB安裝與操做大全
#刪

//刪除信息
db.a.remove({"id":3});
//刪除集合
db.a.drop();
//刪除數據庫
db.dropDatabase();

MongoDB安裝與操做大全
5、導入、導出數據庫

首先建立一個school數據庫
for (var i=1;i<=100;i++)db.info.insert({"id":i,"name":"zhang"+i});

MongoDB安裝與操做大全

//導出
mongoexport -d school -c info -o /opt/school.json #導出整個數據庫
mongoexport -d school -c info -q '{"id":{$eq:10}}' -o /opt/top10.json #有條件的導出數據

MongoDB安裝與操做大全

//導入
mongoimport -d abc -c info --file a.json

MongoDB安裝與操做大全

6、備份、恢復

//備份
mongodump -d school -o /opt/ #/opt自動按數據庫名稱創建文件

MongoDB安裝與操做大全

//恢復
mongorestore -d aaa --dir=/opt/school #還原的數據庫能夠不存在

MongoDB安裝與操做大全
7、複製數據庫

db.copyDatabase("aaa","aaa2") #數據庫中內容也會複製

MongoDB安裝與操做大全
8、克隆集合

mongo --port 27018 跨實例克隆(在另外的實例中)
db.runCommand({"cloneCollection":"aaa.info","from":"192.168.37.128:27017"})

MongoDB安裝與操做大全
9、建立管理用戶

use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]})
db.auth("root","123") #顯示1,成功

MongoDB安裝與操做大全
10、進程管理

db.currentOp()

MongoDB安裝與操做大全

相關文章
相關標籤/搜索