備忘錄_20160105(定位) 修改 回首頁

程式 2018-11-06 12:23:42 1541478222 100
mongodb 4.0.3 replica set 初探

mongodb 4.0.3 replica set 初探

機架式主機 個人電腦 個人電腦
財產編號 A1179 SA1103 A1185
kvm 2 3 4
os Ubuntu 18.04.1 LTS (64bit)
(lsb_release -a)
Ubuntu 14.04.5 LTS (64bit)
(lsb_release -a)
Win7 (64bit)
(ver->win6.1.7601)
hostname macro-pc
(hostname)
macro-pc-02
(hostname)
user137
(ipconfig /all)
uid/pwd macro/...... macro/...... user/......
ip 192.168.1.252
(ifconfig)
192.168.1.253
(ifconfig)
192.168.1.254
(ipconfig /all)
hosts sudo gedit /etc/hosts
加入底下三行
192.168.1.252    macro-pc
192.168.1.253    macro-pc-02
192.168.1.254    user137
sudo gedit /etc/hosts
加入底下三行
192.168.1.252    macro-pc
192.168.1.253    macro-pc-02
192.168.1.254    user137
notepad "c:/windows/system32/drivers/etc/hosts"
加入底下三行
192.168.1.252    macro-pc
192.168.1.253    macro-pc-02
192.168.1.254    user137
移除內建 sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev
sudo apt-get purge mongodb-10gen
sudo apt-get purge mongodb-org
sudo apt-get autoremove
sudo apt-get install libcurl4-openssl-dev
*用 mongodb.......msi 安裝時,不要安裝 compass,否則會失敗!
new folder sudo mkdir -p /home/mongodb-rs
sudo chown -R macro:macro /home/mongodb-rs
sudo mkdir -p /home/mongodb-rs
sudo chown -R macro:macro /home/mongodb-rs
d:/home/mongodb-rs
設定檔 sudo gedit /etc/mongod.conf

storage:
  dbPath: /home/mongodb-rs
  journal:
    enabled: true

net:
  port: 27019
  bindIp: 0.0.0.0
sudo gedit /etc/mongod.conf

storage:
  dbPath: /home/mongodb-rs
  journal:
    enabled: true

net:
  port: 27019
  bindIp: 0.0.0.0
C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg

storage 的 dbPath 改成 d:\home\mongodb-rs
net 的 port 改成 27019
net 的 bindIp 改成 0.0.0.0
啟動伺服器 cd /home/macro/桌面/mongodb/bin
sudo ./mongod --config /etc/mongod.conf
確認一下版本是否為 4.0.3
cd /home/macro/桌面/mongodb/bin
sudo ./mongod --config /etc/mongod.conf
確認一下版本是否為 4.0.3
在系統管理工具/服務當中,重新啟動 MongoDB Server 服務
確認一下版本是否為 4.0.3 (要用 mongo 連上才能知道)
建立使用者 sudo ./mongo 192.168.1.252:27019

use admin
db.createUser({ 
  user:"myUserAdmin", 
  pwd:"mongodb", 
  roles:[{role:"userAdminAnyDatabase", db:"admin"}] 
});
db.createUser({ 
  user:"siteRootAdmin", 
  pwd:"mongodb", 
  roles:[{role:"root", db:"admin"}] 
});
sudo ./mongo 192.168.1.253:27019

use admin
db.createUser({ 
  user:"myUserAdmin", 
  pwd:"mongodb", 
  roles:[{role:"userAdminAnyDatabase", db:"admin"}] 
});
db.createUser({ 
  user:"siteRootAdmin", 
  pwd:"mongodb", 
  roles:[{role:"root", db:"admin"}] 
});
sudo ./mongo 192.168.1.254:27019

use admin
db.createUser({ 
  user:"myUserAdmin", 
  pwd:"mongodb", 
  roles:[{role:"userAdminAnyDatabase", db:"admin"}] 
});
db.createUser({ 
  user:"siteRootAdmin", 
  pwd:"mongodb", 
  roles:[{role:"root", db:"admin"}] 
});
key openssl rand -base64 741 /home/macro/桌面/mongodb/bin/mongodb-keyfile
chmod 600 mongodb-keyfile
chown macro:macro mongodb-keyfile
複製前面產生的 keyfile
chmod 600 mongodb-keyfile
chown macro:macro mongodb-keyfile
複製前面產生的 keyfile
按右鍵,解除封鎖。新增權限,user 完全控制。
第二回
設定檔
sudo gedit /etc/mongod.conf (新增)

security:
  keyFile: /home/macro/桌面/mongodb/bin/mongodb-keyfile

replication:
  replSetName: rs-a
sudo gedit /etc/mongod.conf (新增)

security:
  keyFile: /home/macro/桌面/mongodb/bin/mongodb-keyfile

replication:
  replSetName: rs-a
C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg (新增)

security:
  keyFile: /home/macro/桌面/mongodb/bin/mongodb-keyfile

replication:
  replSetName: rs-a
重新啟動 cd /home/macro/桌面/mongodb/bin
sudo ./mongod --config /etc/mongod.conf
cd /home/macro/桌面/mongodb/bin
sudo ./mongod --config /etc/mongod.conf
在系統管理工具/服務當中,重新啟動 MongoDB Server 服務
設定 
replica 
set
sudo ./mongo 127.0.0.1:27019

use admin
db.auth(“siteRootAdmin”,”mongodb”);
rs.initiate()
rs.conf()
rs.add("192.168.1.253:27019")
rs.add("192.168.1.254:27019")
rs.status()
exit
連接與測試 sudo ./mongo --host rs-a/192.168.1.252:27019,(接下一行)
    192.168.1.253:27019,192.168.1.254:27019

use admin
db.auth(“siteRootAdmin”,”mongodb”);
db.myColl.insert({item:”card1”, qty:2340});
db.myColl.find()
sudo ./mongo --host rs-a/192.168.1.252:27019,(接下一行)
    192.168.1.253:27019,192.168.1.254:27019

use admin
db.auth(“siteRootAdmin”,”mongodb”);
db.myColl.insert({item:”card2”, qty:2222});
db.myColl.find()
sudo ./mongo --host rs-a/192.168.1.252:27019,(接下一行)
    192.168.1.253:27019,192.168.1.254:27019

use admin
db.auth(“siteRootAdmin”,”mongodb”);
db.myColl.insert({item:”card3”, qty:3333});
db.myColl.find()

移除可用 rs.remove("192.168.1.254:27019")