原创 MySQL 排它鎖 詳解

Mysql InnoDB 排他鎖用法 : select … for update;例如 : select * from goods where id = 1 for update;排他鎖的申請前提 : 沒有線程對該結果集中的任何行數據使用

原创 MySQL 壓縮 詳解

MySQL 壓縮協議適合的場景是 MySQL 的服務器端和客戶端之間傳輸的數據量很大,或者可用帶寬不高的情況,典型的場景有如下兩個 :1> 查詢大量的數據,帶寬不夠(比如導出數據的時候)2> 複製的時候 binlog 量太大,啓用 sla

原创 Docker 搭建 MySQL 詳解

1> 獲取鏡像 : 直接從 Docker Hub 上拉取 MySQL在 Docker Hub 或者 Docker Store 上搜索 MySQL 官方版使用相應的 pull 指令拉取 MySQL 鏡像$ docker pull mysql

原创 MySQL 架構及優化原理 詳解

MySQL邏輯架構MySQL邏輯架構整體分爲三層 :1> 客戶端 : 並非MySQL所獨有,諸如 : 連接處理、授權認證、安全等功能均在這一層處理2> 核心服務 : 包括查詢解析、分析、優化、緩存、內置函數(比如 : 時間、數學、加密等函

原创 Zsh 詳解

Zsh 官網 : https://www.zsh.org/oh-my-Zsh 官網 : http://ohmyz.sh/Zsh 和 oh-my-Zsh 的關係Zsh 是 Shell 中的一種,什麼 Shell 你可以再搜索下,簡單粗暴講就

原创 MyCat 壓縮 詳解

MyCat 從 1.4 開始支持 MySQL 的壓縮協議,在查詢返回大的結果集和 load data 大量數據的性能提升比較明顯。可以大大節省網絡流量,但會消耗少量 CPU 資源。如果要啓用壓縮協議,則客戶端、MyCat、MySQL 三者

原创 Linux 下安裝 MyCat 詳解

官方網站 : http://www.mycat.io/注 : 在 Mycat 文件的目錄中,bin目錄 存放在 Mycat 的執行文件;conf目錄 存放 Mycat 的配置文件;lib目錄存放 Mycat所依賴的 jar包;logs目錄

原创 MyCat 對存儲過程

從 MyCat1.6 版本開始完整支持 MySQL 和 Oracle 的存儲過程,調用原理需要使用註解,把存儲過程的調用當做普通 SQL 來調用注 : 在程序中別用以前存儲過程的調用方式,要按照普通查詢 sql 的調用方式,返回結果從 r

原创 MySQL CURRENT_TIMESTAMP 和 ON UPDATE CURRENT_TIMESTAMP 詳解

1> CURRENT_TIMESTAMP : 當要向數據庫執行 insert操作時,如果有個 timestamp字段屬性設爲 CURRENT_TIMESTAMP,則無論這個字段有沒有set值都插入當前系統時間2> ON UPDATE CU

原创 MySQL 5.7 時間不兼容問題 詳解

MySQL 中 datetime, timestamp, date 的區別日期類型存儲空間日誌格式日期範圍datetime8 bytesYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31

原创 MySQL 數據備份和還原 詳解

1> 數據庫備份,在 MySQL 的 bin目錄下,有一個名爲 mysqldump 的可執行文件,將該 bin 目錄添加到環境變量中,可以利用它在 "命令提示符" 環境下來備份數據庫,mysqldump命令的工作原理是先查出需要備份的表的

原创 MySQL insert ignore into、replace into、insert into、on duplicate key update 詳解

創建測試表mysql> CREATE TABLE books(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) UNIQUE,remark VARCHAR(100));mysql> IN

原创 MyCat SQL攔截機制 詳解

SQL 攔截是一個比較有用的高級技巧,用戶可以寫一個 java 類,將傳入 MyCat 的 SQL 進行改寫然後交給 MyCat 去執行,此技巧可以完成如下一些特殊功能 :1> 捕獲和記錄某些特殊的 SQL2> 記錄 SQL 查找異常3>

原创 MySQL 執行計劃 詳解

開啓 profile 工具mysql> SHOW VARIABLES LIKE '%profil%';+------------------------+-------+| Variable_name          | Value |

原创 MySQL 數據庫設計規範 詳解

1> 數據庫涉及字符規範採用 26 個英文字母(區分大小寫) 和 0-9 這十個自然數,加上下劃線'_'組成,共 63 個字符,不能出現其他字符(註釋除外)注 : 1> 以上命名都不得超過 30 個字符的系統限制,變量名的長度限制爲 29