原创 主從複製延遲原因剖析!

寫在前面:之前在維護線上主從複製架構的時候,遇到了一些主從延遲問題,筆者呢,也是比較好學的,哈哈!所以,查閱了諸多資料,然後去其糟粕,根據自己的理解和查閱的資料整理成了本文,在此申明,本文內容是筆者自己的理解,不代表權威性,僅供各位同行做個

原创 MySQL5.6 - 基於GTID複製模式搭建、故障模擬、問題解決!

寫在前面:本文主要講解,GTID複製模式的參數配置、搭建過程中遇到的一些問題及其解決方法;針對一些常見問題場景,進行故障模擬,然後解決。如果對GTID的其他方面的知識想要做個瞭解,如:GTID優點、使用限制、實現原理等,可以移步到筆者的另一

原创 GTID模式介紹!

MySQL GTID Replication:從MySQL5.6開始增加了強大的GTID(Global Transaction ID,全局事務ID)這個特性,用來強化數據庫的主備一致性, 故障恢復, 以及容錯能力。用於取代過去傳統的主從複製

原创 MySQL半同步複製 - 優點、缺點、配置

說到半同步複製,就得先說說複製的三種方法:異步複製:對於異步複製而言,Master主機將事件寫入到binlog日誌後,並不保證所有的事件都已經複製到slave主機,因此如果Master和Slave之間有網絡延遲,就會造成暫時的數據不一致的現

原创 數據庫壓力(瓶頸)評估!

背景:    最近線上蠻重要的一個系統遇到了TCP連接瓶頸,運維由此陷入了焦頭爛額的工作中,筆者在公司負責維護和運維MySQL,領導也是擔心數據庫的瓶頸問題啊,筆者呢,也是好奇當前數據庫的瓶頸到底如何,所以,便誕生了本文,謹以此文記錄筆者對

原创 sql_slave_skip_counter,你真的用對了嗎?

寫在前面:    最近一段時間都在做傳統主從複製相關的測試,思考了很多上線主從複製架構後,可能會發生的問題,然後針對性設置了這些故障,再然後思考如何在保證業務可用,或者對業務衝擊儘可能的小的前提下,進行故障的恢復,也算是小有所得,現在呢,筆

原创 主從延遲複製 -- 數據恢復測試!

寫在前面:    設想一下,你的線上環境使用了主從複製架構,如果不小心執行了,如:drop database db1、drop table tb1,或者說delete,update不加where條件的更新,當問題發生的時候,你是不是希望還有

原创 基於binlog方式搭建MySQL主從

基於binlog方式的主從架構,也可稱爲傳統的異步複製方式。環境:主機IP操作系統MySQL版本Master192.168.32.3CentOS release 6.5 (Final)5.6.16-logSlave192.168.32.2C

原创 原因在這!爲什麼執行stop slave,再start slave後,可以繼續主從複製關係?

寫在前面:我們都知道Master寫滿了一個binlog,或者在Master手動執行了flush logs,SLave不需要做任何操作就可以繼續從Master接受數據進行同步,不知道小夥伴們有沒有考慮過,這是爲什麼?原因就是:其實執行stop

原创 利用Xtrabackup進行單庫備份、單表恢復實例

寫在前面:    筆者在實際工作中發現,對於數據恢復來說,更多情況下面臨的問題是:單個數據庫中的某個或者某幾個表出現了問題,很少對整個庫的數據進行恢復,除非硬盤損壞或者手抖執行了DROP,筆者就單庫備份,單表恢復的場景進行記錄(需要全庫

原创 binlog2sql數據恢復利器!

binlog2sql數據恢復利器!特別適合沒有備份,只有binlog的情況下進行數據恢復操作,能生成標準解析SQL,亦可生產對應的逆向回滾SQL,而且比之傳統的mysqlbinlog更具可讀性,本文側重點針對Python2.6.6、2.7.

原创 pt-archiver數據平滑刪除、平滑遷移利器!

寫在前面調研一件工具之前,在心裏一定要明白,自己要實現的是什麼功能,帶着自己的問題,去找尋答案才能學到新的知識點!需求背景1)線上數據庫有一類ip表,用來記錄每天用戶對網站的訪問記錄情況,然後將其按照時間段整合到一起,做數據分析工作,整合的

原创 盤點每天MySQL巡檢監控項內容

記錄一下線上業務數據庫每天需要監控的參數和變量情況,聲明下:每家公司需要監控的狀態變量均不完全相同,本文僅是針對作者自己負責的業務數據庫而言,另外,其中很多的參數均是從MySQL官網摘取的英文譯著,對其中的錯誤之處,望請指正!InnoDB

原创 binlog2sql數據恢復利器!

binlog2sql數據恢復利器!特別適合沒有備份,只有binlog的情況下進行數據恢復操作,能生成標準解析SQL,亦可生產對應的逆向回滾SQL,而且比之傳統的mysqlbinlog更具可讀性,本文側重點針對Python2.6.6、2.7.

原创 理論 - DELETE和TRUNCATE區別?

主要有以下三個:1、DELETE語句,是一個刪除標記,並不真正的刪除數據,所以,可以通過工具恢復;TRUNCATE語句是直接清空數據行,所以,不能通過工具恢復2、DELETE語句,其ibd文件並不會減小;TRUNCATE語句,其ibd文件會