首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 臨時文件儲存位置詳解:TMPDIR、--tmpdir、複制從庫注意事項

     編輯:MySQL 資料庫相關知識

MySQL 臨時文件目錄機制與配置指南

預設路徑決定邏輯

  1. 環境變數 TMPDIR。
  2. 未設定則用系統預設:/tmp、/var/tmp、/usr/tmp。

自定義臨時目錄

啟動參數 --tmpdir=/path/to/dir 指定較大空間的檔案系統目錄。

MySQL 5.1+ 多目錄輪詢

  • Unix:冒號分隔 --tmpdir=/path1:/path2
  • Windows/NetWare/OS/2:分號分隔 --tmpdir=path1;path2
  • 最佳實踐: 路徑應位於**不同物理磁碟**,而非同磁碟不同分區,以分散 I/O 負載。

複制從庫特殊要求

嚴禁 將 --tmpdir 指向:

  • 基於記憶體的檔案系統 (如 tmpfs)。
  • 重啟會清空的目錄。

原因: 複制從庫需在重啟後保留臨時文件以完成臨時表複制或 LOAD DATA INFILE 操作。臨時文件遺失將導致複制中斷失敗。

臨時文件特性

  • **隱含建立**:MySQL 以隱含方式建立,mysqld 結束自動刪除,保證不殘留。
  • **缺點**:目錄下看不到佔用空間的大臨時文件。

臨時文件使用場景與空間估算

  1. 排序 (ORDER BY/GROUP BY):通常用 1+ 個臨時文件。
    最大空間 = (排序行長度 + 行指標 4bytes) × 匹配行數 × 2
  2. 部分 SELECT 查詢:建立臨時 SQL 表 (名稱 SQL_*),非隱含表。
  3. ALTER TABLE:在原表目錄下建立臨時表。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved