MySQL核心月報2014.11-MySQL· 5.7特性·高可用支援
背景
MySQL的Master-Slave結構提供了實現High Availability的基礎,在實現上面通常使用client-proxy-db的三層架構,proxy不單單完成錯誤檢測、例項切換等高可用功能,還可以實現sharding,即scale out。
MySQL Fabric就是Oracle想大力發展的proxy,這裡主要介紹為了完成高可用的功能,MySQL 5.7做了哪些事情,我們是否可以使用,實現自己的proxy?
高可用元件
proxy完成高可用的功能,除了需要MySQL提供的master-slave的基礎結構外,還需要:
- 1. 在錯誤檢測、進行例項切換時候,需要DB的只讀功能,防止m/s雙寫。
- 2. 在切換完成後,如何實現client重連,或者實現session維持,對client透明。
那麼問題來了
1. 如何保證切換?
- 當前MySQL版本提供了一個read_only的功能,通過新增global read lock和commit鎖來實現,可以滿足實現單點寫入。
2. client重連或者session維持?
- client重連主要依賴client的API,檢測connection的錯誤。而保持connection不斷開,session維持怎麼做?
MySQL 5.7增加的功能
1. offline mode
- offline mode不光實現了read only的功能,並且會斷掉所有的非super使用者的connection,並禁止重連。雖然官方文件中介紹是為了支援upgrade,但完全可以使用在切換的過程中。
2.session回放功能支援
- client-server protocol對於response packet增加了對session state狀態改變的支援,對於以下的session state變化:
- 1. User-defined variables
- 2. session-specific values for server variables
- 3. Temporary tables that are created
- 4. Prepared statements
- 5. Current database
response packet中會新增一個tracker標示其變化。 有了這個功能就可以容易實現session的回放功能,特別在load balance或者cluster環境中,把一個使用者的connection遷移到另外一臺例項上,來保持connection不斷開,實現切換對client透明。
使用MySQL 5.7新增的這兩個功能,可以幫助proxy實現DB高可用。
相關文章
- MySQL核心月報2014.11-MySQL· 5.7改進·Recovery改進MySql
- MySQL核心月報2014.11-MySQL· 5.7優化·MetadataLock子系統的優化MySql優化
- Mysql 5.7 MHA 高可用MySql
- MySQL5.7高可用版釋出MySql
- 關於Mysql5.7高版本group by新特性報錯MySql
- MySQL5.7高可用版商業化釋出MySql
- MySQL 5.7新特性MySql
- MySQL · 特性分析 · MySQL 5.7新特性系列一MySql
- MySQL5.7 Galera Cluster安裝搭建及高可用測試MySql
- 【MySQL】5.7新特性之一MySql
- 【MySQL】5.7新特性之二MySql
- 【MySQL】5.7新特性之三MySql
- 【MySQL】5.7新特性之四MySql
- 【MySQL】5.7新特性之五MySql
- 【MySQL】5.7新特性之六MySql
- 【MySQL】5.7新特性之七MySql
- MySQL 5.7 新特性詳解MySql
- MySQL 5.7的主要特性簡介MySql
- 資料庫核心月報-2015/11-MySQL·特性分析·StatementDigest資料庫MySql
- MySQL MHA高可用方案MySql
- MySQL MMM高可用方案MySql
- MySQL 高可用淺析MySql
- MySQL高可用淺析MySql
- 高可用 proxysql + mysql MGRMySql
- mysql高階特性MySql
- 【Mysql】mysql公開課之-mysql5.7複製特性MySql
- MySQL5.7 group by新特性報錯1055的解決辦法MySql
- 國際站RDSMySQL5.7高可用版釋出MySql
- 【Mysql】Mysql5.7新特性之-json儲存MySqlJSON
- 【Mysql】mysql5.7新特性之-sys schema的作用MySql
- 【Mysql】MySQL 5.7新特性之Generated Column(函式索引)MySql函式索引
- MySQL 5.7 新特性大全和未來展望MySql
- MySQL 5.7 MyISAM併發插入特性介紹MySql
- MySQL 5.7 online DDL特性介紹MySql
- Mysql + keepalive高可用搭建MySql
- MySQL高可用方案介紹MySql
- 【MHA】mysql高可用之MHAMySql
- mysql高可用之keepalivedMySql