MySQL主從復(fù)制是一種常用的數(shù)據(jù)備份和負載均衡方案,它基于二進制日志復(fù)制機制,將主庫的變更記錄轉(zhuǎn)發(fā)給一個或多個從庫,在從庫上執(zhí)行從而達到數(shù)據(jù)同步的目的。但由于MySQL自身的復(fù)制功能存在許多問題,例如復(fù)制延遲、復(fù)制不穩(wěn)定、單點故障等,為了解決這些問題,出現(xiàn)了一系列的MySQL主從復(fù)制中間件。
MySQL主從復(fù)制中間件主要有三種:MyCat、MHA、Tungsten。這里以MHA為例,介紹其中間件的主要功能和使用方法。
sudoapt-get install perl-DBD-mysql libconfig-tiny-perl liblog-dispatch-perl libmodule-install-perl libparallel-forkmanager-perl libswitch-perlsudocpan -iApp::cpanminussudocpanm Log::Dispatch&&\sudocpanmDBD::mysql&&\sudocpanm Switch&&\sudocpanm Parallel::ForkManager&&\sudocpanmConfig::Tiny&&\sudocpanm JSON::XS&&\sudocpanm Readonly
MHA的主要功能是監(jiān)控主庫狀態(tài)變化、自動切換主從庫、自動重連異常節(jié)點、發(fā)送自定義命令等。使用MHA需要先安裝依賴,然后下載源碼,根據(jù)自己的需求修改配置文件,最后執(zhí)行腳本即可。
sudoapt-get install devscripts&&\sudoapt-get install libssl-dev&&\sudoapt-get install libdbd-mysql-perl&&\sudoapt-get install libdbd-mysql-perl&&\gitclonehttps://code.google.com/p/mysql-master-ha/cdmysql-master-ha
./configure --prefix=/usrsudomake&&sudomake install
通過以上操作,就可以成功安裝MHA并開始進行主從復(fù)制。如果需要修改MHA配置文件,可以修改/etc/masterha_default.cnf。需要注意的是,MHA的主從復(fù)制中間件只是一個工具,具體的管理邏輯需要根據(jù)具體需求編寫腳本,命令使用也需要根據(jù)不同的版本進行適當(dāng)?shù)恼{(diào)整。