標籤:最大的 log art 倉庫 c++語言 find failed 模式 行資料
MongDB 簡介MongoDB 是一個基於分布式檔案儲存體的資料庫。由C++語言編寫。旨在為WEB應用提供可擴充的高效能資料儲存解決方案。MongoDB 是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。它支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料類型。Mongo最大的特點是它支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。MongoDB 特點
vim /etc/yum.repos.d/mongodb-org.repo[mongodb-org]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.as
2.安裝 MongoDB :
yum install -y mongodb-orgsystemctl start mongod.service #開啟服務
systemctl start mongod.service #開啟服務
[[email protected] ~]# mongo #進入資料庫MongoDB shell version v3.6.6connecting to: mongodb://127.0.0.1:27017MongoDB server version: 3.6.6
配置 MongoDB 單機多執行個體1. 複製 MongoDB 設定檔 :
cp -p /etc/mongod.conf /etc/mongod2.confvim /etc/mongodb2.confsystemLog: destination: file logAppend: true path: /data/logs/mongod2.log #記錄檔位置.....storage: dbPath: /data/mongodb/mongodb2 #資料檔案位置 journal:......net: port: 27018 #修改連接埠號碼 bindIp: 127.0.0.1
mkdir -p /data/mongodb/mongodb2 #建立資料檔案位置mkdir -p /data/logs/ #建立記錄檔位置touch /data/logs/mongodb2.log #建立記錄檔chmod -R 777 /data/logs/mongodb2.log #添加記錄檔的許可權
[[email protected] ~]# mongod -f /etc/mongod2.conf #開啟執行個體about to fork child process, waiting until server is ready for connections.forked process: 23824child process started successfully, parent exiting
[[email protected] ~]# mongo --port 27018 #進入執行個體MongoDB shell version v3.6.6connecting to: mongodb://127.0.0.1:27018/MongoDB server version: 3.6.6
[[email protected] ~]# mongod -f /etc/mongod2.conf --shutdown #關閉執行個體killing process with pid: 23824
MongoDB 基本操作
操作 |
描述 |
show dbs |
查看當前執行個體下的資料庫列表 |
show users |
顯示使用者 |
use <db_name> |
切換當前資料庫 |
db.help() |
顯示資料庫操作命令 |
show collections |
顯示當前資料庫集合 |
db.foo.help() |
顯示集合操作命令,foo 是當前資料庫下的集合 |
db.foo.find() |
對當前資料庫中foo集合進行資料尋找 |
格式 : use DATABASE_NAME #切換資料庫如果有切換,沒有建立
mongos> use abcswitched to db abc
格式 : db.dropDatabase() #刪除資料庫
mongos> use abcswitched to db abcmongos> db.dropDatabase(){ "info" : "database does not exist", "ok" : 1 }
mongos> db.test.insert({"id":1,"name":"zhangsan"}) #在test集合插入資料 沒有test集合預設會自動建立WriteResult({ "nInserted" : 1 })mongos> db.test.insert({"id":2,"name":"lisi"})WriteResult({ "nInserted" : 1 })mongos> db.test.find() #查看集合內容{ "_id" : ObjectId("5b4eb95659122739e2695613"), "id" : 1, "name" : "zhangsan" }{ "_id" : ObjectId("5b4eb96759122739e2695614"), "id" : 2, "name" : "lisi" }mongos> db.test.remove({"id":1}) #刪除test集合中的id為1的資料WriteResult({ "nRemoved" : 1 })mongos> db.test.find(){ "_id" : ObjectId("5b4eb96759122739e2695614"), "id" : 2, "name" : "lisi" }mongos> db.test.update({"id":2},{$set:{"name":"wangwu"}}) #修改資料WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })mongos> db.test.find(){ "_id" : ObjectId("5b4eb96759122739e2695614"), "id" : 2, "name" : "wangwu" }
[[email protected] bin]# ./mongoexport -d abc -c test -o /opt/test.json #匯出檔案格式為json2018-07-18T12:07:50.297+0800 connected to: localhost2018-07-18T12:07:50.299+0800 exported 2 records [[email protected] bin]# ./mongoimport -d abc -c test --file test.json #匯入資料庫2018-07-18T12:09:09.880+0800 Failed: open test.json: no such file or directory2018-07-18T12:09:09.881+0800 imported 0 documents
參數說明
- -d :指明資料庫的名字
- -c :指明集合的名字
- -o :指明要匯出的檔案名稱
大資料必備的資料庫 MongoDB 3.6 安裝、單機多執行個體和基本操作