MySQL 修改資料庫名稱變通方案:RENAME DATABASE 移除後的最佳實踐
MySQL 5.1 曾引入 RENAME DATABASE,但在 5.1.23 移除(實驗功能,未進入 GA)。生產環境需改名時,採用「建新庫 + RENAME
MySQL TRUNCATE TABLE 誤操作後的資料恢復實戰:Binlog 定點恢復全流程
真實線上場景:TRUNCATE TABLE 導致 7 萬行資料遺失,停止操作時又有 1 萬行新寫入。本文以簡化場景演示完整恢復流程:利用備份起點 Binlog
Linux 產生隨機密碼指令集:/dev/urandom 與 UUID 兩種方法
Linux 環境下快速產生高強度隨機密碼的兩種實用指令。 方法一:/dev/urandom + tr + fold + head(可批量產生) 僅英數字(字
MySQL 取得每個 userid 最新一筆記錄:GROUP_CONCAT + SUBSTRING_INDEX 技巧
表 t1 無主鍵,userid 重複,需取每個 userid 時間最近(atime 最大)的一筆。常規做法需臨時表或 JOIN,這裡介紹單一查詢技巧:GROUP
MySQL 慢日誌按時間範圍切割分析腳本:cutlogbytime 使用指南
面對數 GB 的慢查詢日誌(短格式),手工定位特定時間點極其困難。編寫 cutlogbytime 腳本(GitHub 來源),依 Unix 時間戳截取指定區間日
MySQL mysqlbinlog Flashback 逆向恢復教學:誤刪/誤改資料的救命稻草
mysqlbinlog flashback 是淘寶彭立勳開發的強大功能(作者部落格),支援對 Row 格式 Binlog 進行逆向操作:DELETE→INSER
MySQL 從庫延遲排查案例:單執行緒複寫 CPU 滿載與無主鍵表導致的鎖競爭
巡檢發現從庫無業務負載卻單核 CPU 100%,主庫慢查詢無寫入 SQL。經分析 Binlog 定位到高頻 DELETE/INSERT 的表 xx_db.xxt
從 MySQL 源碼剖析 InnoDB Buffer Pool 命中率計算邏輯
官方文檔建議的 Buffer Pool 命中率公式:100 - (Innodb_buffer_pool_reads / Innodb_buffer_pool_r
Perl DBI 操作 MySQL 實戰技巧:UTF-8、特殊字元、自動重連
使用 Perl DBI 連接 MySQL 時,常遇到字元編碼亂碼、特殊字元寫入報錯、長連線逾時中斷等問題。本文整理三大實戰 TIPS 解決方案。 TIPS 1
MySQL 資料型別選擇對效能的影響:VARCHAR(255) 陷阱與隱含轉換案例
表設計時習慣性將所有字串欄位設為 VARCHAR(255) 或 VARCHAR(64),實際存儲卻僅 5-15 字節,這類「隨意定義」會導致嚴重效能問題。本文以
修改 InnoDB 資料頁大小優化 MySQL:源碼層級調整指南
InnoDB 預設資料頁(page size)為 16KB,屬硬性編譯常數,無法透過參數動態調整。若業務從 Oracle/SQL Server 遷移後發現 I/
MySQL LIMIT 分頁效能優化深度解析:從百萬偏移到游標式分頁
單表 2G+ 的 MyISAM 表執行 LIMIT 1275480, 20 導致查詢極慢,本文深入剖析 LIMIT 掃描機制,提出三種分頁優化策略與程式碼改寫實
MySQL 啟動失敗「No space left on device」三大案例與解決方案
MySQL 無法啟動並報錯 Cant start server: cant create PID file: No space left on device,核
MySQL GROUP BY 子句入門教學:分組統計與聚合函式搭配
GROUP BY 子句將查詢結果依指定欄位分組,配合 COUNT、SUM、AVG 等聚合函式可產出各群組的統計值。本文以 employee_tbl 示範計算每位
MySQL BETWEEN 子句用法詳解:區間篩選替代方案
BETWEEN ... AND ... 子句提供直觀的區間篩選語法,可替代 >= 與 <= 的組合。本文以 employee_tbl 示範兩種寫法的
MySQL UNION 合併查詢結果完整教學:去重與保留重複的差異
UNION 操作子可將多個 SELECT 查詢的結果集合併為單一結果集,要求各查詢的欄位數、順序、資料型態相容。MySQL 4.0+ 才支援。本文以三張結構不同
MySQL COUNT() 函式完整用法教學:計算筆數與條件統計
COUNT() 是最基礎且常用的聚合函式,用於計算查詢結果的筆數。支援 COUNT(*)、COUNT(column) 及搭配 WHERE 條件統計。 資料準備
MySQL MAX() 函式教學:最大值查詢與分組統計實例
MAX() 聚合函式用於找出指定欄位的最大值,用法與 MIN() 對稱。本文以相同的 employee_tbl 資料示範。 資料準備 mysql> SE