標籤

BAT (38) shell (34) Virtual Machine (33) Xubuntu (29) acfs (25) PHP (24) CentOS (21) Virtul Box (20) 編輯器 (17) 資料庫 (15) lubuntu (13) windows (13) CPP (12) ubuntu (12) chrome (11) laravel (10) Docker (9) Python (9) 5A88 (7) VMware (6) 資料結構 (6) Javascript (5) Node (5) Proxmox VE (5) 公告系統 (5) 程式積木 (5) Android Studio (4) ANN (3) OB2D2016x64 (3) Xoops (3) clonezilla (3) samba (3) 公文 (3) 其他 (3) 硬體 (3) API (2) Android (2) AppInvent2 (2) Html (2) Hyper-V (2) Nas (2) botnet (2) mbot (2) swift (2) wordpress (2) 樣板 (2) 防火牆 (2) AD的應用 (1) Ansible (1) Arduino (1) CSS (1) GitLab (1) HA Proxy (1) LegoEV3 (1) PowerShell (1) Scratch (1) VM (1) XenServer (1) kotlin (1) linuxmint (1) lxc (1)

2020年5月31日 星期日

用shell在Xubuntu 16.04快速安裝與使用MongoDB社群版

用shell在Xubuntu 16.04快速安裝與使用MongoDB社群版
檔案名稱:MongodbInstall.sh
內容:
#!/bin/bash
apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt-get update
apt-get install -y mongodb-org
目前用shell安裝後,會出現錯誤訊息
                              
因此,修正為指定版本即可。

檔案名稱:MongodbInstall.sh
內容:
#!/bin/bash
apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt-get update
apt-get install -y mongodb-org=4.2.7 mongodb-org-server=4.2.7 mongodb-org-shell=4.2.7 mongodb-org-mongos=4.2.7 mongodb-org-tools=4.2.7

以下訊息為緣由與相關思考歷程:

        最近學習Node.js,使用npm install mongodb。結果錯誤連連,也不會除錯。找大神求解,才驚覺npm install mongodb 這個指令是安裝 mongodb Nodejs的驅動driver。而不是安裝mongodb。趕緊補強,並做成紀錄。
一、使用Xubuntu 內的mongodb
1.安裝mongodb
$sudo apt-get install mongodb

2.檢查mongodb版本
$mongo -version


3.啟動、關閉與重啟mongodb
$service mongodb start
$service mongodb stop
$service mongodb restart

4.解除安裝 mongodb
$sudo apt-get --purge remove mongodb mongodb-clients mongodb-server

5.shell模式使用mongodb,預設連接的資料庫為test
$mongo

6.常用指令
(1)顯示資料庫列表
show dbs
(2)顯示當前資料庫內的資料表table
show collections
(3)切換資料庫到yourDB。若是沒有yourDB,則會先建立yourDB,再切換。
use yourDB
(4)顯示所有用戶
show users
(5)顯示資料庫操作指令
db.help()
(6)顯示資料表yourCollection操作指令
db.yourCollection.help()
(7)離開資料庫
exit

以例子說明
目的:建立一個資料庫school,內有兩個collection分別為teacher與student
在student,新增兩筆資料:
第一筆資料name:test01,age:14
第二筆資料name:test02,age:15

切换到School資料庫
use School
創建Collection
db.createCollection('teacher')
db.createCollection('student')
新增資料
若新增的資料已有_id:1
db.student.insert({_id:1, sname: 'test01', sage: 14})
db.student.save({_id:1, sname: 'test02', sage: 15})
在手動新增時有_id时,如果_id已經存在,insert不做操作,save做更新操作;
若插入的資料沒有_id
db.student.insert({sname: 'test01', sage: 14})
db.student.save({sname: 'test02', sage: 15})
則兩者作用相同,均是新增資料

資料查詢
#查詢所有紀錄。
db.student.find()  相當於:select * from student

#查詢sname='test01'的紀錄。
db.student.find({sname: 'test01'})
相當於: select * from student where sname='test01'

#查詢指定列sname、sage資料。
db.student.find({},{sname:1, sage:1})
相當於:select sname,sage from student。
sname:1表示返回sname列,預設_id字段也是返回的,可以添加_id:0(意為不返回_id)寫成
{sname: 1, sage: 1,_id:0},就不會返回預設的_id字段了

#and 條件查詢。
db.student.find({sname: 'test02', sage: 15})
相當於:select * from student where sname = 'test02' and sage = 15

#or 條件查詢。
db.student.find({$or: [{sage: 14}, {sage: 15}]})
相當於:select * from student where sage = 14 or sage = 15

二、使用MongoDB社群版
後來在mongodb官網:mongodb安裝,看到
現在以官網的資料為主:
1.匯入套件管理系統的公鑰(public key)
$wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

若收到錯誤訊息,則要安裝gnupg
$sudo apt-get install gnupg
然後
$wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

2.新增至Xubuntu 16.04的apt套件庫
$echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

3.Xubuntu 16.04的apt套件庫更新
$sudo apt-get update

4.安裝mongodb套件
(1)最新版
$sudo apt-get install -y mongodb-org

(2)安裝指定版本4.2.7
sudo apt-get install -y mongodb-org=4.2.7 mongodb-org-server=4.2.7 mongodb-org-shell=4.2.7 mongodb-org-mongos=4.2.7 mongodb-org-tools=4.2.7

5.啟動mongodb
(1)目錄安裝位置/var/lib/mongodb
(2)日誌安裝位置/var/log/mongodb
(3)設定檔位置/etc/mongod.conf
(4)啟動、關閉與重啟mongodb
$sudo systemctl start mongod
$sudo systemctl stop mongod
$sudo systemctl restart mongod
(4)開機啟動mongodb
$sudo systemctl enable mongod
(5)mongodb狀態
$sudo systemctl status mongod

6.開始使用mongodb
$mongo

7.移除mongodb
(1)停用mongodb
$sudo systemctl stop mongod
(2)移除套件
$sudo apt-get purge mongodb-org*
(3)移除安裝目錄與日誌
$sudo rm -r /var/log/mongodb
$sudo rm -r /var/lib/mongodb

8.安全性設定
(1)綁定IP(bind IP),除了原先的127.0.0.1,還要綁定192.168.19.164
$sudo pico /etc/mongodb.conf
bind_ip = 127.0.0.1,192.168.19.164


用shell快速安裝MongoDB社群版
檔案名稱:MongodbInstall.sh
內容:
#!/bin/bash
apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt-get update
apt-get install -y mongodb-org

目前用shell安裝後,會出現錯誤訊息
                              
因此,修正為指定版本即可。
檔案名稱:MongodbInstall.sh
內容:
#!/bin/bash
apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt-get update
apt-get install -y mongodb-org=4.2.7 mongodb-org-server=4.2.7 mongodb-org-shell=4.2.7 mongodb-org-mongos=4.2.7 mongodb-org-tools=4.2.7



資料來源:
1.Ubuntu下MongoDB的安装和使用
2.Day18 - Node.JS 串接 MongoDB (含CRUD) 
3.Install MongoDB Community Edition on Ubuntu
4.mongodb官網:mongodb安裝
5.快速架設 LAMP + XOOPS

沒有留言:

張貼留言

在 Windows 10 x64 1909版,使用BAT快速安裝公文系統與人事服務網(自然人憑證)版

相關內容移往 https://skjhcreator.blogspot.com/2021/02/windows-10-x64-1909bat.html