MySQL 碎片清理實戰:OPTIMIZE TABLE 與 InnoDB 重建表空間
碎片從哪來? 刪除行後留下的「空洞」不會自動回收。大量刪除導致數據文件遠大於實際數據量。全表掃描仍按「歷史峰值」讀取,插入新數據只能部分復用空洞,空間利用率持續
MySQL COUNT DISTINCT NULL 陷阱:為什麼 COUNT(col) 不計算 NULL?
實驗場景 CREATE TABLE hello (id INT, name VARCHAR(10)); INSERT INTO hello VALUES (1
MySQL Event Scheduler 定時任務:自動清理 7 天前日誌實戰
啟用事件調度器 -- 動態開啟 (立即生效,重啟失效) SET GLOBAL event_scheduler = ON; -- 永久生效 (配置檔) [mys
Linux MySQL MYD/MYI/FRM 檔案直接複製遷移:權限與所有者修復指南
場景 大表遷移,mysqldump 太慢,直接複製 .frm、.MYD、.MYI 檔案到目標庫 datadir。 常見問題:複製後表變「唯讀」或報錯
MySQL 安全添加欄位存儲過程:避免重複添加報錯
問題場景 自動化部署腳本需添加欄位,但不確定欄位是否已存在。直接 ALTER TABLE ADD COLUMN 若欄位存在會報錯中斷部署。 解決方案:存儲過程
MySQL 多表 DELETE 實戰:根據一張表刪除另一張表的關聯資料
多表 DELETE 語法變體 -- 1. 基礎單表 DELETE FROM t1 WHERE condition; -- 2. 別名單表 DELETE t1
MySQL 字符集與 copy_and_convert:CPU 瓶頸下的隱形殺手
現象:perf top 見 copy_and_convert 佔用高 CPU 壓測時發現大量 CPU 消耗在字符集轉換函數 copy_and_convert。此
mysqldumpslow 分析慢查詢日誌:找出 TOP N 耗時/高頻/大結果集 SQL
啟用慢查詢日誌 [mysqld] slow_query_log = 1 long_query_time = 1 slow_query_log_file = /v
MySQL Using filesort 與 Using temporary 優化實戰:組合索引消臨時表與文件排序
慢查詢現場 0 ORDER BY a.order_date DESC LIMIT 10; EXPLAIN 暴露的問題 type: ALL
MySQL 直接 UPDATE mysql.user 修改用戶名導致無法登入的坑與正確姿勢
問題重現 建立用戶:CREATE USER test@% IDENTIFIED BY test; 測試登入:mysql -utest -pte
MySQL General Log 啟用與關閉:線上除錯的雙刃劍
什麼是 General Log? 記錄**所有**客戶端連線、斷開、SQL 語句 (含 SELECT) 的文本日誌。預設關閉,開啟後可完整還原資料庫活動。 動
MySQL 8 小時自動斷開連線問題:wait_timeout 與 interactive_timeout 完整解決方案
問題現象 應用閒置 8 小時後,資料庫操作報錯: Communications link failure The last packet successfull
MySQL vs SQL Server 觸發器語法對比與遷移實戰
原版 SQL Server 2005 觸發器 CREATE TRIGGER [TG_Update_Current] ON [dbo].[CurrentLocat
Linux MySQL "Table 'xxx' doesn't exist" 實為大小寫敏感惹的禍
錯誤現象 程式報錯 Table xxx doesnt exist,但 SHOW TABLES 明明看到表存在,拼字也沒錯。 根本原因 Linux 文件系統**
MySQL Binlog 分析實戰:追蹤管理員帳號被誤刪的真兇
現場還原 發現 admin 表中 id=62 的管理員帳號莫名消失。開啟 Binlog (Row/Statement 混合模式) 追蹤。 Binlog 片段解
萬網雲主機刪除預裝 Apache/MySQL 並安裝 LNMPA 完整實戰記錄
背景 萬網雲主機預裝 Apache + MySQL,但安裝在非標準路徑,rpm/yum 無法卸載。需手動清理後安裝 LNMPA (Linux + Nginx +