原创 對MySQL複製中斷的處理 原 薦

前言 ———— 在複製中,有時會因爲複製報錯,而中斷複製。通常是因爲一個SQL語句在主庫執行時是正常的,但同步到從庫時,因爲各種原因,找不到對應的數據,造成執行SQL失敗,報出複製錯誤。下面主要寫了幾個常見的錯誤。   複製中斷的情況和

原创 【複製系列】基於binlog文件和位置的 傳統複製 原 薦

  前言 基於日誌文件和位置的 傳統複製,是根據binlog文件和master_log_position確定複製的。   傳統複製的原理 在master上,線程:dump_thread ;日誌:binlog。 在slave上,線程:

原创 對MySQL交換分區的實踐 原 薦

前言 在介紹交換分區之前,我們先了解一下 mysql 分區。 數據庫的分區有兩種:水平分區和垂直分區。而MySQL暫時不支持垂直分區,因此接下來說的都是水平分區。水平分區即:以行爲單位對錶進行分區。比如:按照時間分區,每一年一個分區等。

原创 MySQL 之 備份 原

前言 ——— 常言道:有備無患!在生活中,我們通常都會對自己認爲重要的東西多備一份,而對於我們DBA要守護的數據庫,備份無疑是非常重要的事情! 對於備份,我們要知道幾件事情: 備份最好保留 一至兩份。 備份 可以讓數據回到某一個時間點。

原创 樂視秒殺:每秒十萬筆交易的數據架構解讀 轉

樂視秒殺:每秒十萬筆交易的數據架構解讀   隨着樂視硬件搶購的不斷升級,樂視集團支付面臨的請求壓力百倍乃至千倍的暴增。作爲商品購買的最後一環,保證用戶快速穩定地完成支付尤爲重要。所以在2015年11月,我們對整個支付系統進行了全面的架構

原创 利用ProxySQL實現MySQL的讀寫分離 原 薦

一、Proxysql 的基礎知識 ProxySQL是一個可以實現MySQL讀寫分離的輕量級工具。 ProxySQL的特點 將所有配置保存寫入到SQLit表中。 支持動態加載配置,即一般可以在線修改配置,但有少部分參數還是需要重啓來生效

原创 pt-online-schema-change 實現在線DDL 原

參考文章: http://seanlook.com/2016/05/27/mysql-pt-online-schema-change/ 上面的文章寫的很詳細,在這篇文章中,想要再補充一些自己的理解。 一、在原表創建的三個觸發器,在copy數

原创 MySQL去重的方法總結 原

【初級】有極少的重複行 使用distinct查出來,然後手動一行一行刪除。   【中級】按照單個字段的重複去重 例如:對id字段去重 使用方法:獲取id的重複字段的值,利用相同id字段所在的行中,比較出數據不同的字段,刪除 除了最小(或最大

原创 MySQL升級的最佳實踐 原 薦

前言 MySQL5.7新增了不少新功能,比如:Online DDL、多源複製、增強半同步、表空間傳輸、sys 庫、Group Replication等。最近終於等到了一個機會,將MySQL升級到5.7,很是興奮不已,嘻嘻。 MySQL升

原创 Django 的 文件解釋和工作原理 原

前言 Django是一個使用python語言編寫的web開發框架。Django是MVC模式的框架,由於一些用法,也通常被認爲是MTV模式。 那,MVC和MTV模式是什麼? MVC 即 model(M)、view(V)、control(C)

原创 【總結】鎖等待的分析思路 原

前言 昨天看到一篇文章《“大”事務引起的鎖等待分析案例》,看了第一遍感覺不錯,今天又想起了它,又看了一遍,感覺比昨天的印象更深刻了,於是對此做了一些總結。 文章原鏈接:https://mp.weixin.qq.com/s/uvr1KaXS

原创 【複製系列】基於 GTID 的複製 原

前言 上篇文章寫了傳統複製的原理和搭建,本文將主要寫一些基於GTID的複製,主要內容有:GTID基礎知識、基於GTID複製的搭建、添加一個新從庫的操作、一些GTID相關參數的解釋。 現在常用的複製也是 基於GTID的複製+binlog的格

原创 【複製系列】在線啓動/禁用 GTID事務 原

前言 在MySQL 5.7.6或更高版本,可以在線切換複製,即 不必關閉MySQL數據庫。   在線啓用GTID複製 1、修改參數 enforce_gtid_consistency 以下操作 均在 主從中執行 # 在錯誤日誌中監控修改

原创 正確清理binlog日誌 原

【方法一】手動清理binlog 清理前的準備: ① 查看主庫和從庫正在使用的binlog是哪個文件 show master status\G  show slave status\G     ② 在刪除binlog日誌之前,首先對binlo

原创 論雙1的重要性 原

前言 雙1是什麼? 即:參數 innodb_flush_log_at_trx_commit 和sync_binlog均設置爲1。 接下來,先看由該參數引起的一個案例。 案例 場景: mysql 故障宕機,查看binlog的最後一個事務