原创 MySQL--------基於GTID半同步搭建主從

1. 背景   * GTID: 全局事物ID(Global Transaction ID),在整個事務架構中每一個事務ID號是全局唯一的,不止是在一個節點上而是整個主從複製架構中每任何兩個事務的ID號都不會相同。   * GTID就是由當前

原创 MySQL--------基於半同步複製搭建主從

1. 背景   * MySQL Replication默認都是異步(asynchronous),當主庫在執行完一些事務後,是不會管備庫的進度的。如果備庫不幸落後,而更不幸的是主庫此時又出現Crash(例如宕機),這時備庫中的數據就是不完整的

原创 我的友情鏈接

張甦的博客lisea fm米米_51CTOAllen在路上-從零到壹劉丹博客

原创 MySQL 5.7新支持--------通用表空間實戰

1. 背景  * 一個通用的表空間是一個共享的InnoDB表空間。   * 與系統表空間類似,一般的表空間是共享的表空間,可以存儲多個表的數據   * 一般的表空間比文件表的表空間具有潛在的內存優勢。   * MySQL 將表空間元數據保存

原创 DES--------Golang對稱加密之模式問題實戰

1. 背景 近期項目在對接第三方產品,傳輸過程中涉及到數據加密, 數據加密流程爲: 發送數據DES加密 DES加密後的數據進行base64編碼 發送,接受數據 接受讀取的數據進行base64解碼 base64解碼完的數據機型DES解密

原创 MySQL DDL操作--------自定義函數最佳實戰

1. 背景   * 自定義函數與存儲過程非常類似,但必須帶有返回值。2. 自定義函數例子 [ 階乘 ]   * 創建自定義函數 func_factorial   delimiter 設置語句結束符mysql> delimiter // my

原创 InnoDB--------獨立表空間平滑遷移

1. 背景   * InnoDB的表空間可以是共享的或獨立的。如果是共享表空間,則所有的表空間都放在一個文件裏:ibdata1,ibdata2..ibdataN,這種情況下,目前應該還沒辦法實現表空間的遷移,除非完全遷移。  * 不管是共享

原创 MySQL DDL操作--------指定表數據文件存放目錄最佳實戰

1. 背景   * 在MYSQL中建立一張數據表,在其數據目錄對應的數據庫目錄下都有對應表的.frm文件,.frm文件是用來保存每個數據表的元數據(meta)信息,包括表結構的定義等,.frm文件跟數據庫存儲引擎無關,也就是任何存儲引擎的數

原创 MySQL--------基於binlog實現閃回最佳實戰

1. 背景   * 爲了數據安全,搭建了主從。實時主從備份只能防止硬件問題,比如主庫的硬盤損壞。但對於誤操作,則無能爲力。比如在主庫誤刪一張表,或者一個update語句沒有指定where條件,導致全表被更新。當操作被同步到從庫上後,則主從都

原创 MySQL DML操作--------實現pivot行轉列功能最佳實戰

1. 背景  * 由於MySQL 不支持類型Oracle與SQL Server的pivot功能進行行列轉換。2. 表與數據mysql> select * from t_temp; +---------+-----------+-------

原创 InnoDB--------查詢IOT B+ Tree的高度

1. 背景   * 在InnoDB存儲引擎中,表都是根據主鍵順序組織存放的,這種存儲方式的表稱爲索引組織表(index organized table IOT)。   * 在InnoDB存儲引擎中,每張表都有個主鍵(Primary key)

原创 MySQL DDL操作--------存儲過程最佳實戰

1. 背景   * 我們常用的操作數據庫語言SQL語句在執行的時候需要要先編譯,然後執行,而存儲過程(Stored Procedure)是一組爲了完成特定功能的SQL語句集,經編譯後存儲在數據庫中,用戶通過指定存儲過程的名字並給定參數(如果

原创 MySQL--------多版本多實例混合部署

1. 背景  * MySQL數據庫的集中化運維,可以通過在一臺服務器上,部署運行多個MySQL服務進程,通過不同的socket監聽不同的服務端口來提供各自的服務。各個實例之間是相互獨立的,每個實例的datadir, port, socket