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

MySQL 配置檔 my.cnf 完整解析:作用域、範本與關鍵參數

     編輯:MySQL 資料庫相關知識

my.cnf(Windows 為 my.ini)是 MySQL 統一配置入口,可調整伺服器、客戶端、各工具啟動參數,避免命令列冗長參數。

配置檔讀取順序與作用域(後讀者覆蓋先讀者)

路徑作用域備註
/etc/my.cnf (Win: C:\my.ini)全域(所有實例)Windows 僅支援此層級
DATADIR/my.cnf實例級(特定資料目錄)Windows 不支援
--defaults-extra-file=檔案指定檔案Windows 不支援
~/.my.cnf使用者級Windows 不支援

官方提供 5 組預設範本(位於 support-files/)

檔案名適用場景
my-huge.cnf高階伺服器,1-2GB RAM,專跑 MySQL
my-innodb-heavy-4G.cnf純 InnoDB,4GB RAM,大查詢低流量
my-large.cnf中型伺服器,512MB RAM,專跑 MySQL
my-medium.cnf低階伺服器,<128MB RAM
my-small.cnf最小配置,<64MB RAM

建議複製最接近硬體的範本為 /etc/my.cnf 再微調。

my-large.cnf 關鍵區段節錄

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
skip-locking
key_buffer_size=256M
max_allowed_packet=1M
table_open_cache=256
sort_buffer_size=1M
read_buffer_size=1M
read_rnd_buffer_size=4M
myisam_sort_buffer_size=64M
thread_cache_size=8
query_cache_size=16M
thread_concurrency=8

# 複寫設定
log-bin=mysql-bin
server-id=1

# InnoDB 專屬(預設註解)
# innodb_buffer_pool_size=256M
# innodb_log_file_size=64M

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
# 互動式客戶端設定

配置檔語法規則

  • 註解以 # 開頭。
  • 參數名稱去除命令列的雙連字號(--key_buffer_size → key_buffer_size)。
  • 區段標題 [section] 定義生效範圍,直到下一個區段為止。
  • 舊版 set-variable=key_buffer_size=256M 寫法已不建議使用。

修改生效方式

修改 my.cnf 後需 **重啟 MySQL 服務** 才能生效(部分參數可 SET GLOBAL 動態調整,但重啟後會還原)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved