配置文件位于【MySql 主從監(jiān)控.exe.config】中txt格式一般文本編輯器能打開。
【主機(jī)配置】
MasterAddress: 主機(jī)ip地址或機(jī)器名(skip-name-resolve啟用后不能使用機(jī)器名否則連接不到服務(wù)器)。
MasterUserID: 主機(jī)登錄數(shù)據(jù)庫的用戶名。
MasterPassword: 主機(jī)登錄數(shù)據(jù)庫的密碼。
MasterPort: 主機(jī)數(shù)據(jù)庫通信端口。
【從機(jī)配置】
SlaveAddress: 從機(jī)ip地址或機(jī)器名(skip-name-resolve啟用后不能使用機(jī)器名否則連接不到服務(wù)器)。
SlaveUserID: 從機(jī)登錄數(shù)據(jù)庫的用戶名。
SlavePassword: 從機(jī)登錄數(shù)據(jù)庫的密碼。
SlavePort: 從機(jī)數(shù)據(jù)庫通信端口。
對(duì)于一主一從的配置只需要從機(jī)跟主機(jī)的ip,端口,用戶等相互對(duì)應(yīng)即可。一主多從跟多主多從均要遵循此規(guī)律。
【示例配置1】 一主一從
<add key="MasterAddress" value="172.16.217.31"/>
<add key="MasterUserID" value="sa"/>
<add key="MasterPassword" value="sa"/>
<add key="MasterPort" value="3307"/>
<add key="SlaveAddress" value="172.16.217.31"/>
<add key="SlaveUserID" value="root"/>
<add key="SlavePassword" value="admin"/>
<add key="SlavePort" value="3308"/>
【示例配置2】 一主多從
<add key="MasterAddress" value="172.16.217.31;172.16.217.31"/>
<add key="MasterUserID" value="sa;sa"/>
<add key="MasterPassword" value="sa;sa"/>
<add key="MasterPort" value="3307;3308"/>
<add key="SlaveAddress" value="172.16.217.31;172.16.217.30"/>
<add key="SlaveUserID" value="root;sa"/>
<add key="SlavePassword" value="admin;admins"/>
<add key="SlavePort" value="3308;3308"/>
【示例配置3】 多主多從
<add key="MasterAddress" value="172.16.217.31;172.16.217.32;172.16.217.33"/>
<add key="MasterUserID" value="sa;sa;sa"/>
<add key="MasterPassword" value="sa;sa;admin"/>
<add key="MasterPort" value="3307;3308;3306"/>
<add key="SlaveAddress" value="172.16.217.34;172.16.217.35;172.16.217.36"/>
<add key="SlaveUserID" value="root;sa;pps"/>
<add key="SlavePassword" value="admin;admins;adminpps"/>
<add key="SlavePort" value="3308;3308;3307"/>
【示例配置3】 主主
....................................
從以上觀察發(fā)現(xiàn)只要從機(jī)跟主機(jī)一一對(duì)應(yīng)即可!。
【全局參數(shù)】
ErrorListCount: 當(dāng)復(fù)制異常后能解析多少條從出錯(cuò)日志之后的數(shù)量,并以一定的格式發(fā)送到指定的郵箱,方便迅速計(jì)算出Skip_Counter的值。
TimeInterval: 設(shè)置監(jiān)控時(shí)間間隔,即:每隔多久檢查一次同步狀態(tài)單位:秒。
islog: 是否記錄監(jiān)控日志(可以用于查看主從同步過程中的延遲情況islog=0標(biāo)示不記錄日志,其他值均表示記錄日志)。
IF_Monitor: 0:表示不監(jiān)控主從復(fù)制情況,直接進(jìn)入異常檢測(cè)處理模式?捎糜诜治鰪(fù)制異常情況,如解析日志,計(jì)算skip_counter的值,自動(dòng)跳過錯(cuò)誤等。
1:監(jiān)控主從情況并并報(bào)告錯(cuò)誤然后郵件通知。
sound: 1:開啟報(bào)警音
0:不開啟警報(bào)音,該項(xiàng)為0則sounding的設(shè)置無效
sounding: 1:表示持續(xù)報(bào)警直到復(fù)制恢復(fù)正常,或者監(jiān)控程序重啟動(dòng)。
其他:表示一次復(fù)制異常在一小時(shí)內(nèi)只報(bào)警一次,一小時(shí)候復(fù)制仍然異常則再次報(bào)警一次。
ChangeEngine: 僅供內(nèi)部使用用于批量修改存儲(chǔ)引擎類型,作業(yè)等,暫不開放!。
【郵件配置】
ServerMailType: 郵件服務(wù)器類型如(smtp.163.com。smtp.qq.com。)。
MailName: 發(fā)送人郵箱名稱,不帶@符號(hào)及后綴的郵件部分。
MailPassword: 發(fā)送人郵箱登錄密碼。
MailAdress: 發(fā)送人郵箱地址帶@部分及其之后的部分。
ToAdress: 收件人郵箱地址(可以同時(shí)發(fā)送多個(gè)收件人以"逗號(hào)"隔開即可)。
cc: 抄送人地址(已經(jīng)關(guān)閉抄送功能可以不填)。
使用郵件功能時(shí)要求相關(guān)郵件必須開啟smpt協(xié)議(如163,qq,126等郵箱均有此協(xié)議,可以在相關(guān)位置找到并開啟),
此外由于郵件服務(wù)器廠商對(duì)每天發(fā)送郵件數(shù)量上有限制(如果郵件發(fā)送的不頻繁則一般沒有限制,郵件發(fā)送頻繁與否決定于主從失敗頻率),
因此建議用公司內(nèi)部的郵件服務(wù)器,這樣就無數(shù)量上的限制了.
說明:關(guān)于如何開啟smtp協(xié)議請(qǐng)遵循一般郵件廠商所提供的方式,一般都是勾選相關(guān)選項(xiàng)即可開啟。
備注:在一臺(tái)從服務(wù)器復(fù)制異常后系統(tǒng)會(huì)發(fā)送一次郵件或者出現(xiàn)一次警告音,避免垃圾郵件的不停產(chǎn)生。當(dāng)一個(gè)小時(shí)候系統(tǒng)會(huì)自動(dòng)檢測(cè)相關(guān)
復(fù)制信息如果問題依舊則再次發(fā)送郵件或者警告。如果要避免這種情況在復(fù)制正常后可以將程序重新啟動(dòng)即可。
程序依賴于.net framework 3.5或更高版本。
程序只要運(yùn)行在有相關(guān).net的環(huán)境下即可實(shí)現(xiàn)相關(guān)監(jiān)控工作。
在配置復(fù)制的用戶名跟密碼時(shí)只要求相關(guān)用戶具有復(fù)制權(quán)限即可,如果程序報(bào)權(quán)限錯(cuò)誤的異?梢宰们橘x予相關(guān)用戶權(quán)限即可。
程序?qū)τ脩魴?quán)限的要求:
1: STOP SLAVE
2: START SLAVE
3: SET GLOBAL SQL_SLAVE_SKIP_COUNTER=N
4: SHOW SLAVE STATUS\G