亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MongoDB 復(fù)制(副本集)學(xué)習(xí)筆記

 更新時間:2019年10月24日 11:45:13   作者:學(xué)知無涯  
這篇文章主要介紹了MongoDB 復(fù)制(副本集),結(jié)合實例形式分析了MongoDB數(shù)據(jù)庫復(fù)制的相關(guān)原理、配置、使用方法及操作注意事項,需要的朋友可以參考下

本文實例講述了MongoDB 復(fù)制(副本集)。分享給大家供大家參考,具體如下:

replication set復(fù)制集,
復(fù)制集,多臺服務(wù)器維護(hù)相同的數(shù)據(jù)副本,提高服務(wù)器的可用性。
MongoDB復(fù)制是將數(shù)據(jù)同步在多個服務(wù)器的過程。
復(fù)制提供了數(shù)據(jù)的冗余備份,并在多個服務(wù)器上存儲數(shù)據(jù)副本,提高了數(shù)據(jù)的可用性, 并可以保證數(shù)據(jù)的安全性。
復(fù)制還允許您從硬件故障和服務(wù)中斷中恢復(fù)數(shù)據(jù)。

設(shè)置過程:

(1)創(chuàng)建示例

假設(shè)創(chuàng)建三臺,創(chuàng)建三個實例目錄和日志目錄:
mkdir /home/m17 /home/m18 /home/m19 /home/mlog
啟動三個示例,端口分別為27017、27018、27019。

./mongod --dbpath=/home/m17 --logpath=/home/mlog/m17.log --fork --port=27017 --replSet=rs2 --smallfiles
./mongod --dbpath=/home/m18 --logpath=/home/mlog/m18.log --fork --port=27018 --replSet=rs2 --smallfiles
./mongod --dbpath=/home/m19 --logpath=/home/mlog/m19.log --fork --port=27019 --replSet=rs2 --smallfiles

說明:

參數(shù)--replSet設(shè)置一樣,才能屬于同一個復(fù)制集
參數(shù)--smallfiles可以節(jié)省空間,提高速度。

然后使用ps aux | grep mongo可以查看到啟動起來的三個端口。

(2)配置

使用客戶端連接mongo進(jìn)行配置:

[test@localhost bin]$ ./mongo

要管理配置,所以切換到admin上:

>use admin

(配置是json格式)

var rsconf = {
_id:'rs2',
members:[
{"_id":0,host:'192.168.8.172:27017'},
{_id:1,host:'192.168.8.172:27018'},
{_id:2,host:'192.168.8.172:27019'}
]
}

如果沒有配置ip,使用127.0.0.1

var rsconf = {
_id:'rs2',
members:[
{_id:0,host:'127.0.0.1:27017'},
{_id:1,host:'127.0.0.1:27018'},
{_id:2,host:'127.0.0.1:27019'}
]
}

執(zhí)行后,使用 printjson(rsconf)查看剛才的配置。

然后執(zhí)行初始化:

>rs.initiate(rsconf);
> rs.initiate(rsconf);
{
"ok" : 1,
"operationTime" : Timestamp(1539933041, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1539933041, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
rs2:SECONDARY>

查看節(jié)點:

rs.status()

刪除節(jié)點:

rs.remove('127.0.0.1:27019')

添加節(jié)點:

rs.add('127.0.0.1:27019')

切換節(jié)點:

默認(rèn)是在27017端口,即rs2:PRIMARY>狀態(tài),
退出mongo客戶端命令模式,
切換到另一個端口:

[test@localhost bin]$ ./mongo --port=27018,

即切換到rs2:SECONDARY>狀態(tài)。

測試:

在主服務(wù)上,創(chuàng)建庫和集合,

rs2:PRIMARY> use student
switched to db student
rs2:PRIMARY> db.user.insert({uid:1,name:'zhang san'})
WriteResult({ "nInserted" : 1 })
rs2:PRIMARY> db.user.find();
{ "_id" : ObjectId("5bc9889f85a0986431fd2499"), "uid" : 1, "name" : "zhang san" }

去從服務(wù)上查看

show dbs

然后看到有錯誤,具體錯誤信息是:

...
"errmsg" : "not master and slaveOk=false",
...

是因為slave默認(rèn)不允許讀寫:

>rs.slaveOk();

然后就可以看到主服務(wù)器創(chuàng)建的庫和集合了。

同理27019也需要執(zhí)行這個命令才能自動同步和讀寫。

當(dāng)主服務(wù)器27017停掉的時候,
第二個27018就自動變成主服務(wù)器master狀態(tài)。
但是27019需要再次執(zhí)行rs.slaveOk()才能自動同步讀寫。

shell腳本:

#!/bin/bash
IP=127.0.0.1
NA=rs2
sudo mkdir -p /home/m17 /home/m18 /home/m19 /home/mlog
sudo chmod -R 777 /home/m17 /home/m18 /home/m19 /home/mlog
./mongod --dbpath=/home/m17 --logpath=/home/mlog/m17.log --fork --port=27017 --replSet=${NA} --smallfiles
./mongod --dbpath=/home/m18 --logpath=/home/mlog/m18.log --fork --port=27018 --replSet=${NA} --smallfiles
./mongod --dbpath=/home/m19 --logpath=/home/mlog/m19.log --fork --port=27019 --replSet=${NA} --smallfiles
./mongo <<EOF
use admin
var rsconf = {
_id:'rs2',
members:[
{_id:0,host:'${IP}:27017'},
{_id:1,host:'${IP}:27018'},
{_id:2,host:'${IP}:27019'}
]
}
rs.initiate(rsconf)

希望本文所述對大家MongoDB數(shù)據(jù)庫程序設(shè)計有所幫助。

相關(guān)文章

  • Mongodb常見操作符和運(yùn)算符總結(jié)

    Mongodb常見操作符和運(yùn)算符總結(jié)

    MongoDB 提供了豐富的操作符(Operators)和運(yùn)算符(Expressions)用于在查詢和更新文檔時指定條件和操作數(shù)據(jù),本文將通過代碼示例給大家詳細(xì)的總結(jié)一下Mongodb常見操作符和運(yùn)算符,需要的朋友可以參考下
    2024-01-01
  • Ubuntu系統(tǒng)中安裝MongoDB及其啟動命令mongod的教程

    Ubuntu系統(tǒng)中安裝MongoDB及其啟動命令mongod的教程

    這篇文章主要介紹了Ubuntu系統(tǒng)中安裝MongoDB及其啟動命令mongod的教程,包括設(shè)置MongoDB開機(jī)啟動的腳本示例,非常推薦,需要的朋友可以參考下
    2016-01-01
  • MongoDB入門教程之C#驅(qū)動操作實例

    MongoDB入門教程之C#驅(qū)動操作實例

    這篇文章主要介紹了MongoDB入門教程之C#驅(qū)動操作實例,即C#中操作MongoDB數(shù)據(jù)的方法和代碼示例,需要的朋友可以參考下
    2014-08-08
  • 數(shù)據(jù)庫MongoDB啟動的三種方式

    數(shù)據(jù)庫MongoDB啟動的三種方式

    MongoDB是一個流行的分布式文檔型數(shù)據(jù)庫,用于存儲非結(jié)構(gòu)化數(shù)據(jù),本文給大家總結(jié)了數(shù)據(jù)庫MongoDB啟動的三種方式,講解的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-07-07
  • mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)

    mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)

    這篇文章主要介紹了mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Mongodb 崩潰報錯 Too many open files的問題解析

    Mongodb 崩潰報錯 Too many open files的問題解析

    這篇文章主要介紹了Mongodb 崩潰報錯 Too many open files的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • MongoDB快速入門及其SpringBoot實戰(zhàn)教程

    MongoDB快速入門及其SpringBoot實戰(zhàn)教程

    MongoDB是一個開源、高性能、無模式的文檔型數(shù)據(jù)庫,當(dāng)初的設(shè)計就是用于簡化開發(fā)和方便擴(kuò)展,是NoSQL數(shù)據(jù)庫產(chǎn)品中的一種,它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是一種類似于JSON的格式叫BSON,本文介紹MongoDB快速入門及其SpringBoot實戰(zhàn),感興趣的朋友一起看看吧
    2023-12-12
  • 在 Fedora 上安裝 MongoDB 服務(wù)器的方法教程

    在 Fedora 上安裝 MongoDB 服務(wù)器的方法教程

    Mongo是一個高性能、開源、無模式的、面向文檔的數(shù)據(jù)庫,它是最受歡迎的 NoSQL 數(shù)據(jù)庫之一。這篇文章主要介紹了在 Fedora 上安裝 MongoDB 服務(wù)器的方法,需要的朋友可以參考下
    2020-03-03
  • MongoDB使用指南--基本操作

    MongoDB使用指南--基本操作

    上篇文章,我們講訴了MongoDB數(shù)據(jù)庫的用戶操作,本文將介紹如何基本操作MongoDB數(shù)據(jù)庫,當(dāng)然是基本的,最基本的操作,需要的朋友可以參考下
    2014-08-08
  • MongoDB模糊查詢正則regex(類似like?和?not?like)

    MongoDB模糊查詢正則regex(類似like?和?not?like)

    在類關(guān)系型數(shù)據(jù)庫中,like和not?like是常用的模糊查詢操作符,它允許我們在匹配字段的時候使用通配符,在MongoDB中,也有類似的操作符,MongoDB?可以使用?$regex?操作符來設(shè)置匹配字符串的正則表達(dá)式,MongoDB?使用?PCRE(Perl?兼容的正則表達(dá)式)作為正則表達(dá)式語言
    2024-02-02

最新評論