本文目錄一覽:
- 1、MySQL如何實現高可用?
- 2、如何在linux下建立MySQL鏡像資料庫
- 3、MYSQL 如何做鏡像
- 4、各類資料庫的優點缺點
- 5、求教 :windows 下建立mysql 資料庫鏡像(兩個系統都是Windows 的 –xp)
- 6、MySQL如何實現鏡像,如果可以的話
MySQL如何實現高可用?
1. 概述
我們在考慮MySQL資料庫的高可用的架構時,主要要考慮如下幾方面:
關於對高可用的分級在這裡我們不做詳細的討論,這裡只討論常用高可用方案的優缺點以及高可用方案的選型。
2. 高可用方案
2.1. 主從或主主半同步複製
使用雙節點資料庫,搭建單向或者雙向的半同步複製。在5.7以後的版本中,由於lossless replication、logical多線程複製等一些列新特性的引入,使得MySQL原生半同步複製更加可靠。
常見架構如下:
通常會和proxy、keepalived等第三方軟體同時使用,即可以用來監控資料庫的 健康 ,又可以執行一系列管理命令。如果主庫發生故障,切換到備庫後仍然可以繼續使用資料庫。
優點:
缺點:
2.2. 半同步複製優化
半同步複製機制是可靠的。如果半同步複製一直是生效的,那麼便可以認為數據是一致的。但是由於網路波動等一些客觀原因,導致半同步複製發生超時而切換為非同步複製,那麼這時便不能保證數據的一致性。所以儘可能的保證半同步複製,便可提高數據的一致性。
該方案同樣使用雙節點架構,但是在原有半同複製的基礎上做了功能上的優化,使半同步複製的機制變得更加可靠。
可參考的優化方案如下:
半同步複製由於發生超時後,複製斷開,當再次建立起複制時,同時建立兩條通道,其中一條半同步複製通道從當前位置開始複製,保證從機知道當前主機執行的進度。另外一條非同步複製通道開始追補從機落後的數據。當非同步複製通道追趕到半同步複製的起始位置時,恢復半同步複製。
搭建兩條半同步複製通道,其中連接文件伺服器的半同步通道正常情況下不啟用,當主從的半同步複製發生網路問題退化後,啟動與文件伺服器的半同步複製通道。當主從半同步複製恢復後,關閉與文件伺服器的半同步複製通道。
優點:
缺點:
2.3. 高可用架構優化
將雙節點資料庫擴展到多節點資料庫,或者多節點資料庫集群。可以根據自己的需要選擇一主兩從、一主多從或者多主多從的集群。
由於半同步複製,存在接收到一個從機的成功應答即認為半同步複製成功的特性,所以多從半同步複製的可靠性要優於單從半同步複製的可靠性。並且多節點同時宕機的幾率也要小於單節點宕機的幾率,所以多節點架構在一定程度上可以認為高可用性是好於雙節點架構。
但是由於資料庫數量較多,所以需要資料庫管理軟體來保證資料庫的可維護性。可以選擇MMM、MHA或者各個版本的proxy等等。常見方案如下:
MHA Manager會定時探測集群中的master節點,當master出現故障時,它可以自動將最新數據的slave提升為新的master,然後將所有其他的slave重新指向新的master,整個故障轉移過程對應用程序完全透明。
MHA Node運行在每台MySQL伺服器上,主要作用是切換時處理二進位日誌,確保切換盡量少丟數據。
MHA也可以擴展到如下的多節點集群:
優點:
缺點:
Zookeeper使用分散式演算法保證集群數據的一致性,使用zookeeper可以有效的保證proxy的高可用性,可以較好的避免網路分區現象的產生。
優點:
缺點:
2.4. 共享存儲
共享存儲實現了資料庫伺服器和存儲設備的解耦,不同資料庫之間的數據同步不再依賴於MySQL的原生複製功能,而是通過磁碟數據同步的手段,來保證數據的一致性。
SAN的概念是允許存儲設備和處理器(伺服器)之間建立直接的高速網路(與LAN相比)連接,通過這種連接實現數據的集中式存儲。常用架構如下:
使用共享存儲時,MySQL伺服器能夠正常掛載文件系統並操作,如果主庫發生宕機,備庫可以掛載相同的文件系統,保證主庫和備庫使用相同的數據。
優點:
缺點:
DRBD是一種基於軟體、基於網路的塊複製存儲解決方案,主要用於對伺服器之間的磁碟、分區、邏輯卷等進行數據鏡像,當用戶將數據寫入本地磁碟時,還會將數據發送到網路中另一台主機的磁碟上,這樣的本地主機(主節點)與遠程主機(備節點)的數據就可以保證實時同步。常用架構如下:
當本地主機出現問題,遠程主機上還保留著一份相同的數據,可以繼續使用,保證了數據的安全。
DRBD是linux內核模塊實現的快級別的同步複製技術,可以與SAN達到相同的共享存儲效果。
優點:
缺點:
2.5. 分散式協議
分散式協議可以很好解決數據一致性問題。比較常見的方案如下:
MySQL cluster是官方集群的部署方案,通過使用NDB存儲引擎實時備份冗餘數據,實現資料庫的高可用性和數據一致性。
優點:
缺點:
基於Galera的MySQL高可用集群, 是多主數據同步的MySQL集群解決方案,使用簡單,沒有單點故障,可用性高。常見架構如下:
優點:
缺點:
Paxos 演算法解決的問題是一個分散式系統如何就某個值(決議)達成一致。這個演算法被認為是同類演算法中最有效的。Paxos與MySQL相結合可以實現在分散式的MySQL數據的強一致性。常見架構如下:
優點:
缺點:
3. 總結
隨著人們對數據一致性的要求不斷的提高,越來越多的方法被嘗試用來解決分散式數據一致性的問題,如MySQL自身的優化、MySQL集群架構的優化、Paxos、Raft、2PC演算法的引入等等。
而使用分散式演算法用來解決MySQL資料庫數據一致性的問題的方法,也越來越被人們所接受,一系列成熟的產品如PhxSQL、MariaDB Galera Cluster、Percona XtraDB Cluster等越來越多的被大規模使用。
隨著官方MySQL Group Replication的GA,使用分散式協議來解決數據一致性問題已經成為了主流的方向。期望越來越多優秀的解決方案被提出,MySQL高可用問題可以被更好的解決。
分散式解決方案 tidb
多主 多備 master lvs做vip 讀寫分離中間件
如何在linux下建立MySQL鏡像資料庫
首選用putty連接linux伺服器,進行命令行
輸入mysql -u+資料庫用戶 -p+資料庫密碼
架設資料庫用戶是root 密碼是123,應該是像下面這樣才是正確的:
mysql -uroot -p123
-u和-p連接資料庫用戶和密碼中間是不能有空格的
下面來創建資料庫mydatabase
create database mydatabase;
這樣一個名叫mydatabase的資料庫就創建好了
show databases; 顯示所有資料庫列表
drop database mydatabase; 刪除資料庫mydatabase
那麼如何退出mysql命令行呢?
在終端輸入exit; 知道完全退出mysql命令行為止!
MYSQL 如何做鏡像
在 控制面板–管理工具–服務裡面
看看有沒有 SQL Server 的服務, 是否啟動了。
如果已經啟動了
運行 sqlcmd 看看,能否連接。
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
vaela
各類資料庫的優點缺點
優點:資料庫系統是用來管理數據的,建立的數理邏輯和集合操作基礎上的。
具有高效、可靠、完整、自同步等特性,是業務系統進行數據控制的最佳選擇。
資料庫系統一般提供高效的數據控制和數據檢索功能,採用SQL語言來進行數據操作。
目前市面上流行的資料庫系統很多:較小型的資料庫系統有:mysql,MSSQL_SERVER等等,適用於企業級的大型資料庫有:ORACEL,DB2(IBM),INFORMIX(IBM)等等
缺點:安全性不夠,加了用戶級密碼容易破解
C/S
結構下對伺服器要求很高,否則容易造成
MDB
損壞並發數255。
但是對高強度操作適應性差,如果伺服器不夠好,網路不夠好,編程的方法不夠好,6-7個人同時訪問就能導致
MDB
損壞或者並死不能將
VBA
代碼開發的軟體系統直接編譯成
EXE
可執行文件。
不能脫離
ACCESS
或者
ACCESS
RUNTIME
環境,該環境相對其他軟體體積較大(50M左右)
求教 :windows 下建立mysql 資料庫鏡像(兩個系統都是Windows 的 –xp)
資料庫鏡像?沒搞懂,備份吧是。
很多工具都支持資料庫相互同步的,例如navicat mysql ,工具菜單里就有數據同步。
還有一種很傻瓜的辦法,如果都是xp,而且mysql版本也一樣的話,你可以直接把其中一個的Data文件夾(mysql安裝目錄下找,或者你安裝mysql的時候設置的數據文件位置下找)複製,然後替換掉另外一機器的mysql data文件夾就可以了(注意備份數據)
MySQL如何實現鏡像,如果可以的話
1 用主從模式 看文檔,這個最簡單,但是同步的話非常麻煩。
2 用專門的集群軟體 mysql網站上有介紹,但是只支持linux
mysql show master status;
+————-+———-+————–+——————+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+————-+———-+————–+——————+
| bin_log.003 | 73 | book,xtdb | |
+————-+———-+————–+——————+
mysql show slave status;
+—————+————-+————-+—————+————-+—–+—————+—————–+———————+————+————+————–+
| Master_Host | Master_User | Master_Port | Connect_retry | Log_File | Pos | Slave_Running | Replicate_do_db | Replicate_ignore_db | Last_errno | Last_error | Skip_counter |
+—————+————-+————-+—————+————-+—–+—————+—————–+———————+————+————+————–+
| 192.168.0.101 | backup | 3306 | 60 | bin_log.003 | 73 | Yes | book,xtdb | | 0 | | 0 |
+—————+————-+————-+—————+————-+—–+—————+—————–+———————+————+————+————–+
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/285161.html