如何實現(xiàn)mysql主從同步主從切換 云數(shù)據(jù)庫提供哪些主備同步方式?
云數(shù)據(jù)庫提供哪些主備同步方式?主備同步,也叫主從復制,是MySQL提供的一種高可用的解決方案,用來保證主備數(shù)據(jù)的一致性。在生產(chǎn)環(huán)境中,會有很多不可控的因素,比如數(shù)據(jù)庫服務掛起。為了確保應用程序的高可用
云數(shù)據(jù)庫提供哪些主備同步方式?
主備同步,也叫主從復制,是MySQL提供的一種高可用的解決方案,用來保證主備數(shù)據(jù)的一致性。
在生產(chǎn)環(huán)境中,會有很多不可控的因素,比如數(shù)據(jù)庫服務掛起。為了確保應用程序的高可用性,數(shù)據(jù)庫也必須具有高可用性。
因此,在生產(chǎn)環(huán)境中,將采用主備用同步。在應用規(guī)模較小的情況下,一般采用一主一備。
除了上面提到的數(shù)據(jù)庫服務掛機,還可以快速切換到備用數(shù)據(jù)庫,避免應用程序不可用。此外,采用主備同步還有以下優(yōu)點:
為了提高數(shù)據(jù)庫的讀并發(fā)性,大多數(shù)應用程序都是讀多于寫。當使用規(guī)模越來越大時,可以通過采用主備同步方案來擴展備用數(shù)據(jù)庫以提高讀取能力。
備份,主備同步可以得到一個實時完整的備份數(shù)據(jù)庫。
快速恢復,當主庫出錯時(如誤刪表),通過準備庫可以快速恢復數(shù)據(jù)。對于大規(guī)模應用和數(shù)據(jù)恢復速度容忍度低的情況,通過在主數(shù)據(jù)庫的數(shù)據(jù)快照半小時之外配置一個備用數(shù)據(jù)庫,當主數(shù)據(jù)庫誤刪表時,可以通過備用數(shù)據(jù)庫和bin。日志恢復快,最多等半個小時。
MySQL主從復制能完美解決數(shù)據(jù)庫的單點問題嗎?為什么?
數(shù)據(jù)庫單點問題:
數(shù)據(jù)只有一份拷貝,一旦存儲數(shù)據(jù)的存儲設備的存儲介質損壞,就會導致非常嚴重的損失。
解決方案:
添加額外的數(shù)據(jù)庫服務器以形成數(shù)據(jù)庫集群。同一集群中的數(shù)據(jù)庫服務器需要具有相同的數(shù)據(jù)。群集中的任何一臺服務器出現(xiàn)故障后,其他服務器都可以替換該故障服務器。Mysql主從復制可以解決數(shù)據(jù)庫的單點問題,但主從復制方法不能不完美。
不完美的原因:
雖然主從復制增加了數(shù)據(jù)庫的副本,但是從數(shù)據(jù)庫和主數(shù)據(jù)庫的數(shù)據(jù)最終是一致的。之所以最終一致,是因為MySQL復制是異步的,正常情況下主從復制數(shù)據(jù)會有輕微的延遲。而且隨著從數(shù)據(jù)庫的增加,復制也延遲了。延誤越來越嚴重。
這個數(shù)據(jù)庫副本看似解決了數(shù)據(jù)庫的單點問題,但并不完美:1。因為在這種架構下,如果主服務器宕機,需要手動切換從服務器,業(yè)務中斷難以承受,無法滿足應用的高可用性要求。2.即使設置為自動切換,由于主服務器的復制。到達從服務器需要時間,直接從從服務器讀取的數(shù)據(jù)可能不是最新的。