中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB基礎安裝、操作

發布時間:2020-06-24 18:02:49 來源:網絡 閱讀:148 作者:wx5d3fd1efe40e3 欄目:系統運維

內容要點:

MongoDB介紹
linux系統安裝MongoDB
MongoDB基礎操作

一、MongoDB :

(1)MongoDB是一個基于分布式文件存儲的數據庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

(2)MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。它支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是它支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

(3)特點:

面向集合存儲,易存儲對象類型的數據;
模式自由、支持查詢、支持動態查詢;
支持完全索引,包含內部對象;
支持復制和故障恢復;
使用高效的二進制數據存儲,包括大型對象(如視頻等);
自動處理碎片,以支持云計算層次的擴展性;
支持RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言;
文件存儲格式為BSON(一種JSON的擴展);
可通過網絡訪問。

二、Linux 系統安裝MongoDB :

第一步:配置 YUM 源倉庫
[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 install mongodb-org -y
修改配置文件:
vim /etc/mongod.conf

bindIp: 0.0.0.0    //監聽地址
port: 27017         //監聽端口
2、開啟服務:
systemctl start mongod.service
netstat -natp | grep 27017
3、啟動MongoDB 多實例:
cp -p /etc/mongod.conf /etc/mongod2.conf

vim /etc/mongod2.conf  
//修改以下代碼:
     path: /data/mongodb/mongod2.log      //日志文件目錄
     dbPath: /data/mongodb/mongo          //數據存儲目錄
     port: 27018                          //服務器端口
4、創建實例的目錄和日志文件:
mkdir -p  /data/mongodb/
cd /data/mongodb/
mkdir mongo
touch mongod2.log
chmod 777 mongod2.log
5、啟動實例:
mongod -f /etc/mongod2.conf    
mongo --port 27018    //指定實例的端口
netstat -ntap

三、MongoDB 基礎操作

1、基本命令:

(1)文檔 : 相當于關系數據庫的 行 (多個文檔組成集合)

(2)集合 : 相當于關系數據庫的 表 (多個集合組成數據庫)

(3)數據庫名特殊作用:

admin: 將用戶添加到這個庫,這個用戶繼承數據庫所有權限;
local : 這個庫永遠不被復制,可以存儲限于本地單臺服務器的任意集合;
config : 當Mongo用于分片設置時,這個庫在內部使用,保存分片的相關信息。
mongo //進入數據庫

> db.version()      //查看版本
> show dbs;         // 查看數據庫
> db.getMongo()     //查看當前數據庫機器的連接地址
> db.集合名.help     //顯示集合操作命令
> show users        //顯示用戶
(4)具體操作:
>  use school;                       //打開school數據庫, 不存在會創建,不建立集合又會刪除
> db.createCollection('info')        //創建集合
> db.info.insert({"id":1,"name":"zhangsan","hobby":["game","talk"]})      //添加數據
> db.info.find()                    //查看info集合中所有文檔
> show collections                  //查看數據庫中所有集合
> db.info.update({"id":10},{$set:{"name":"tom"}})     //更改數據
> db.info.remove({"id":2})         //移除info集合中的id2的數據
> db.info.drop()                   //刪除info集合
> db.dropDatabase()               //刪除數據庫  先use到要刪的數據庫里在刪
> db.info.count()                 //統計有多少條數據
(5)MongoDB 數據類型:
String: 字符串,最常用,必須是utf-8
Boolean:布爾值,true 或者false
Integer:整數
Double:浮點數
Arrays:數組或者列表,多個值存儲到一個鍵
Object:用于嵌入文檔,即一個值為一個文檔
Null:存儲null值
Binary Data : 二進制數據,用于存儲二進制數據
Date:存儲當前日期或時間unix時間格式
(6)查看數據類型:
> a=db.info.findOne({"id":1})   //查找指定記錄并賦予別名a
> typeof(a.id)                  //查看屬性類型

2、備份、恢復:

(1)導入導出:
導出:mongoexport

導入:mongoimport

常見選項:

-d 數據庫
-c 集合
-o 目錄文件.json結尾
-q 導出數據過濾條件
-f 導出哪些列

for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i})    //循環寫入100條數據
mongoexport -d school -c info -o /opt/info.json        //導出
mongoimport -d school -c info1 --file /opt/info.json  //導入到info1集合
mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json    //條件導出指定第10行
(2)備份與恢復:

① 備份:mongodump
② 恢復:mongorestore
③ 選項:

-h 指定Mongodb所在服務器的地址也可以指定端口(例:-h 127.0.0.1:27017)
-d :需要備份的數據庫;
-o :備份數據存放的目錄 該目錄需提前創建

mkdir /backup                       //創建存放目錄
mongodump -d school -o /backup/     //備份school數據庫
mongorestore -d school1 --dir=/backup/school    //恢復到school1數據庫

④ 復制數據庫:

db.copyDatabase("school","school2")     //復制數據庫school 到school2中

⑤ 克隆數據庫:

把數據庫school的info集合 克隆到實例2
先進入實例2的MongoDB
mongo --port 27018
db.runCommand({"cloneCollection":"school.info","from":"192.168.126.130:27017"})

3、安全管理:
創建管理用戶;
啟動是必須指定 auth=true;
可以將用戶分配角色;
內置數據庫用戶角色: read 、 readWrite;
數據庫管理員角色: dbAmin 、 dbOwner 、 userAdmin;
超級用戶角色 :root

vim /etc/mongod.conf

auth=true   //添加
mongo
> use admin
> db.createUser({"aaa":"root","pwd":"123","roles":["root"]})
//創建用戶aaa  密碼123123  分配到root角色
> db.auth("root","123123")     //驗證用戶

4、進程管理:
終止正在運行的進程: db.killOp(opid值)
查看當前正在運行的進程: db.currentOp()

> db.currentOp()       //查看

> db.killOp(4872) //終止4872進程

5、MongoDB 監控:
MongoDB提供一些內置工具可以監測數據庫的狀態信息
查看數據庫實例的狀態信息: db.serverStatus()
查看數據庫的統計信息: db.stats()
此外也可以通過web界面查看系統監控信息需要在配置文件中加入

vim /etc/mongod.conf
httpinterface=true
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武胜县| 宜川县| 衢州市| 吉林省| 全州县| 石泉县| 嵩明县| 晋州市| 贵德县| 罗定市| 治县。| 石狮市| 玛纳斯县| 比如县| 澜沧| 平果县| 仲巴县| 神农架林区| 自贡市| 来凤县| 赤水市| 宜黄县| 来宾市| 蓬溪县| 星座| 绥中县| 金坛市| 巴林右旗| 丹凤县| 聊城市| 得荣县| 佳木斯市| 九江县| 大城县| 乌恰县| 石门县| 鸡泽县| 古丈县| 昌吉市| 云霄县| 英德市|