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

MySQL 5.0 my.cnf 完整配置選項參考手冊:目錄、網路、記憶體、日誌、複寫全覆蓋

     編輯:MySQL 資料庫相關知識

配置檔結構

my.cnf 採 INI 格式,分區段:[mysqld](Server)、[client]、[mysql]、[mysqldump]、[myisamchk] 等。Server 端參數僅在 [mysqld] 生效。

一、目錄與檔案路徑

參數說明範例
basedir安裝根目錄/usr/local/mysql
datadir資料目錄/data/mysql
tmpdir臨時檔案目錄(可多目錄輪詢)/tmp:/var/tmp
socketUnix 域套接字檔/var/lib/mysql/mysql.sock
pid-file進程 PID 檔/var/run/mysqld/mysqld.pid
character-sets-dir字元集檔案目錄/usr/local/mysql/share/charsets
lower_case_table_names0=區分大小寫, 1=不區分(Windows預設), 2=存儲小寫比較不區分1

二、語言與字元集

參數說明
character-set-server預設字元集(取代舊 default-character-set)
collation-server預設排序規則
language錯誤訊息語言(如 english/chinese)

三、網路、通訊與安全

參數說明
portTCP 監聽埠(預設 3306)
bind-address綁定 IP(0.0.0.0 監聽所有,127.0.0.1 僅本機)
skip-networking禁用 TCP,僅允許 Socket/Named Pipe
enable-named-pipeWindows 開啟命名管道
shared-memoryWindows 共享記憶體通訊
skip-name-resolve跳過 DNS 反查,加速連線、避免 DNS 故障
skip-host-cache禁用主機名快取
max_connections最大同時連線數
back_logTCP 連線請求隊列長度
max_allowed_packet最大封包大小
wait_timeout非互動連線空閒斷開秒數
interactive_timeout互動連線空閒斷開秒數
old_passwords啟用舊密碼雜湊(不建議,5.7+ 移除)
secure-auth拒絕舊密碼客戶端連線
ssl-ca/ssl-cert/ssl-keySSL 憑證路徑
local-infile允許 LOAD DATA LOCAL INFILE
safe-user-create建立用戶需 INSERT mysql.user 權限
usermysqld 運行用戶(需 root 啟動後切換)

四、記憶體、快取與優化

參數預設說明
key_buffer_size8MMyISAM 索引塊快取(所有線程共享)
table_cache / table_open_cache64/2000表快取數(含檔案描述符)
sort_buffer_size2M每 Session 排序快取
read_buffer_size128K循序掃描快取
read_rnd_buffer_size256K排序後隨機讀快取
join_buffer_size128K無索引 JOIN 快取
bulk_insert_buffer_size8M批量 INSERT 快取
tmp_table_size32M內部臨時 HEAP 表上限,超過轉 MyISAM 磁碟表
max_heap_table_size16M用戶建立 HEAP 表上限
thread_cache_size0/自動線程快取數
query_cache_size0查詢快取大小(5.7 建議 0,8.0 移除)
query_cache_type10=關, 1=開, 2=按需
query_cache_limit1M單查詢結果快取上限

五、InnoDB 專屬參數(核心)

參數預設說明
innodb_buffer_pool_size128M資料+索引+鎖+插入緩衝 統一快取,**最關鍵參數**
innodb_log_file_size48MRedo log 大小,影響寫入效能與恢復時間
innodb_log_files_in_group2Redo log 組數
innodb_flush_log_at_trx_commit11=全 ACID, 2=秒級刷盤, 0=最高效但可能丟 1 秒
innodb_file_per_tableON獨立表空間,支援 DROP/TRUNCATE 回收空間
innodb_flush_methodfdatasyncO_DIRECT 繞過 OS 快取,配合 RAID/電池備援卡
innodb_io_capacity200磁碟 IOPS 能力,SSD 設 5000+
innodb_read_io_threads4讀 IO 線程
innodb_write_io_threads4寫 IO 線程
innodb_lock_wait_timeout50鎖等待超時秒數
innodb_deadlock_detectON死鎖檢測

六、日誌系統

參數說明
log-error錯誤日誌路徑
slow_query_log開啟慢查詢日誌 (0/1)
slow_query_log_file慢查詢日誌檔案
long_query_time慢查詢閾值秒數 (預設 10)
log-queries-not-using-indexes記錄未用索引查詢
log-bin二進位日誌基礎檔名(啟用複寫/時間點恢復必開)
binlog_formatROW/STATEMENT/MIXED(推薦 ROW)
expire_logs_daysBinlog 保留天數
max_binlog_size單 Binlog 檔案上限 (預設 1G)
sync_binlog1=每次提交同步最安全, 0=OS 決定, N=每 N 次同步
general_log通用查詢日誌 (審計用,高負載慎開)

七、複寫參數

參數說明
server-id複寫拓撲唯一 ID (1~2^32-1)
log-slave-updatesSlave 寫入自身 Binlog(鏈式複寫需開)
read-onlySlave 唯讀(防誤寫)
relay-log中繼日誌路徑
slave-skip-errors跳過特定錯誤碼(風險極高,慎用)

查看當前生效值

SHOW VARIABLES;
SHOW GLOBAL VARIABLES LIKE 'innodb_%';
mysqld --help --verbose | grep -A1 '^basedir'

本手冊涵蓋 MySQL 5.0 核心配置維度,新版本參數多有擴充,請配合官方文檔使用。

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