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

MySQL 基礎:mysqld_safe 啟動腳本執行流程詳解

     編輯:MySQL 資料庫相關知識

mysqld_safe 核心流程

  1. 定位目錄:尋找 basedir(安裝根目錄)與 ledir(執行檔目錄)。
  2. 定位資料與配置:尋找 datadir 與 my.cnf。
  3. 配置檢查:對 my.cnf 關鍵選項進行預檢。
  4. 解析配置段:合併 [mysqld]、[mysqld_safe] 區段與命令列參數。
  5. 參數解析:呼叫 parse_arguments 處理所有傳入參數($@)。
  6. 日誌處理:判斷系統日誌與錯誤日誌路徑,處理 --err-log。
  7. 基礎參數賦值:確保 --user、--pid-file、--socket、--port 皆有值。
  8. 啟動 mysqld:
    • 檢查 PID 檔是否存在,存在則記錄錯誤並退出。
    • 刪除舊 PID 檔,失敗則記錄致命錯誤並退出。
  9. 啟動前檢表:可選啟用表檢查;調大 key_buffer、sort_buffer 加速;或用 myisam-recover 修復 MyISAM 表。
  10. 預設參數啟動:無參數時套用內建預設值集合。
  11. 異常重啟:偵測到非正常關閉,自動重啟服務。

三步總結

  1. 檢查環境
  2. 檢查配置選項
  3. 啟動及啟動後處理

選用 mysqld_safe 的優勢

  1. 安全特性:錯誤時自動重啟,並將運行資訊寫入錯誤日誌。
  2. 專屬選項:mysqld_safe 專用選項需放在 [mysqld_safe] 區段或命令列指定,其他區段不生效。
  3. 資源限制:可指定 ulimit -c(core 檔大小)與 ulimit -n(開啟檔案數)。
  4. 優先級:環境變數 < 配置檔 < 命令列參數(命令列最高)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved