MySQL "[Warning] Invalid (old?) table or database name" 根因排查與修復
線上 Binlog 出現 [Warning] Invalid (old?) table or database name,經源碼追蹤定位至 ha_innodb.
MySQL 審計插件安裝使用說明:文件/表雙模式、粒度控制、動態配置
基於 MySQL 審計接口開發的插件,支援 FILE/Table 雙輸出模式、按位掩碼的細粒度審計控制、動態配置熱加載,滿足合規審計需求。 核心特性 輸
MySQL Query Cache 行為分析:首尾空格自動修剪導致命中
MySQL Query Cache (QC) 要求查詢「逐字節完全相同」才命中,但實測發現:**SQL 首尾空格會被自動修剪後再比對**,故首尾加空格仍命中 Q
MySQL ORDER BY 執行順序誤區:先排序後取數,而非先取數後排序
常見誤解:ORDER BY 是「先 SELECT 出結果集,再在內存排序」。實際執行邏輯:**優化器先生成有序輸出流 (利用索引或 Filesort),再按 L
MySQL UNION 與 GROUP BY 組合避坑:括號包裹子查詢
MySQL 中 UNION 與 GROUP BY/LIMIT/NOT IN 組合時,必須用括號將每個 SELECT 包裹為子查詢,否則報錯或語義錯誤。 錯誤示
MySQL 存儲引擎架構與選型指南:InnoDB、MyISAM、NDB、Memory、Infobright
MySQL 插件式存儲引擎架構將「查詢處理」與「數據存儲」解耦,不同引擎面向不同業務場景。理解引擎特性是架構選型與效能調優的前提。 架構圖解 連接池 → 管理
MySQL 慢查詢日誌配置完整指南:開啟、參數、驗證與分析
慢查詢日誌是 SQL 調優的「體檢報告」,記錄執行超過 long_query_time 秒的語句,幫助定位效能瓶頸。 狀態檢查 SHOW VARIABLES
MySQL SOURCE 導入報錯 "Unknown command '\'":字符集不匹配導致
使用 SOURCE /path/dump.sql 導入時出現 Unknown command \,典型原因:**導出文件編碼與當前 MySQL 客戶端字符集不一
MySQL 水平分區優化實戰:從三次全分區掃描到索引範圍查詢
MySQL 5.1+ 支援水平分區,優化原則同單表:減少磁碟掃描次數與範圍。本文以 system_type 列分區表為例,演示 SQL 改寫如何從 3 次全分區
MySQL 5.5 遷移 PostgreSQL 9.1 完整差異對照與代碼改造指南
異構遷移核心挑戰在於 DDL 語法差異、函數差異、類型映射、存儲過程改寫。本文基於 Spring/Hibernate 應用場景,系統梳理遷移關鍵點。 核心語法
Linux MySQL 表名大小寫敏感問題:lower_case_table_names 解決
Windows MySQL 表名不區分大小寫,Linux 預設區分大小寫。Hibernate 生成大寫表名 SQL、腳本導入小寫表名,導致查無數據。核心解法:設
MySQL 5.1/5.5 安裝後無法啟動:默認 InnoDB 引發的服務失敗
MySQL 5.1.48 / 5.5.8 配置精靈最後一步 Start Service 卡死/失敗,事件查看器報:Plugin InnoDB registrat
MySQL 修改 Root 密碼三種標準方法
MySQL 修改密碼核心原理:更新 mysql.user 表對應行的認證字符串,然後 FLUSH PRIVILEGES 重載權限緩存。 方法一:SET PAS
MySQL 事件調度器 (Event Scheduler) 完整管理指南
MySQL Event Scheduler 類似 Linux cron,但運行在資料庫內核,適合定時清理、統計聚合、分區維護等資料庫內部任務。 啟用與狀態檢查
MySQL 連接查詢深度解析:內連接、左/右外連接與笛卡爾積
以 tuser(用戶) 與 ttable(記錄, 1:N) 為例,系統演示四種連接類型的語義、結果差異與笛卡爾積本質。 測試數據準備 CREATE TABL
MySQL 存儲過程與函數編寫語法速查
MySQL 存儲過程(Procedure)與函數(Function)語法差異主要在於:過程無返回值、支援 OUT/INOUT 參數、可執行 DDL/DML;函數
MySQL 5.5 InnoDB 壓縮表 (COMPRESSED) 特性與實踐指南
MySQL 5.5 引入 InnoDB 表壓縮(Barracuda 文件格式),類似 MyISAM 壓縮但支援事務、行鎖、崩潰恢復。適用於讀多寫少、歷史歸檔、日
Linux 安裝 MySQL 5.5 亂碼問題徹底解決:my.cnf 字符集配置
MySQL 5.5 源碼編譯安裝後,預設字符集為 latin1,導致中文存儲顯示亂碼。核心解法:在 /etc/my.cnf 同時配置 client 與 serv