首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

mysqld_safe 官方參考手冊詳解:參數全覽、啟動邏輯與 NetWare 差異

     編輯:MySQL 綜合教學

mysqld_safe 官方參考手冊詳解:參數全覽、啟動邏輯與 NetWare 差異

mysqld_safe 是 Unix/NetWare 環境下啟動 mysqld 的推薦腳本,提供安全特性:異常重啟、錯誤日志記錄、權限隔離。本文整理官方文檔核心內容,供快速查閱與配置參考。

核心功能特性

  • 自動重啟:mysqld 異常退出 (非正常 SHUTDOWN) 時自動拉起。
  • 錯誤日志:運行時信息寫入 host_name.err,支持文件輪轉。
  • 權限降級:--user 指定運行用戶,避免 root 權限風險。
  • 配置聚合:讀取 [mysqld], [server], [mysqld_safe], [safe_mysqld] 組配置。

完整參數速查表

啟動邏輯與目錄搜索順序

  1. 若在 MySQL 安裝目錄下執行 bin/mysqld_safe,腳本自動定位 bin/ (或 libexec/) 和 data/ (或 var/)。
  2. 否則嘗試編譯時默認路徑 (/usr/local/libexec, /usr/local/var)。
  3. 可通過 --ledir 和 --datadir 顯式指定,繞過自動搜索。

配置文件讀取優先級

命令行 --defaults-file > --defaults-extra-file > 默認搜索順序
默認順序:/etc/my.cnf → /etc/mysql/my.cnf → $MYSQL_HOME/my.cnf → ~/.my.cnf

mysqld_safe 讀取 [mysqld], [server], [mysqld_safe], [safe_mysqld] 組,命令行參數最終覆蓋。

NetWare 平台差異 (NLM 版本)

  • 功能:檢查系統/選項 → 檢查 MyISAM 表 → 保持服務器窗口 → 啟動監控 mysqld → 錯誤重啟 → 錯誤信息寫 host_name.err → 屏幕輸出寫 host_name.safe。
  • --autoclose:終止時自動關閉窗口,否則提示按鍵關閉。
  • 無 Unix 信號機制,守護邏輯由 NLM 運行時實現。

最佳實踐清單

  1. 不要修改腳本本體:升級會覆蓋。所有定制通過配置文件或命令行參數。
  2. 生產必配:log-error, pid-file, user=mysql, open-files-limit=65535。
  3. systemd 環境:ExecStart=/usr/bin/mysqld_safe --skip-kill-mysqld,避免雙重守護衝突。
  4. 版本升級:若從 MySQL-Max 升級到標準版,手動刪除舊 mysqld-max 二進制,否則腳本仍嘗試啟動它。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數說明典型值/備註
--help顯示幫助並退出-
--basedir=pathMySQL 安裝基目錄/usr/local/mysql
--datadir=path數據目錄/data/mysql
--defaults-file=file僅讀取指定配置文件需放第一位
--defaults-extra-file=file額外讀取配置文件需放第一位
--no-defaults不讀取任何配置文件需放第一位
--ledir=pathmysqld 二進制目錄顯式指定避免誤搜索
--mysqld=prog服務器程序名mysqld / mysqld-debug
--mysqld-version=suffix程序名後綴max → mysqld-max
--log-error=file錯誤日志路徑/var/log/mysql/error.log
--pid-file=filePID 文件路徑/var/run/mysqld/mysqld.pid
--user={name|uid}運行用戶mysql (必須非 root)
--port=numTCP 端口3306 (≥1024 非 root)
--socket=fileUnix Socket 路徑/tmp/mysql.sock
--nice=priority調度優先級0 (默認), -20~19
--open-files-limit=n最大打開文件數需 root 啟動生效
--core-file-size=sizeCore 文件大小限制ulimit -c 透傳
--skip-kill-mysqld不嘗試殺殭屍進程systemd 管理時建議開啟
--syslog / --skip-syslog啟用/禁用 syslog默認文件日志
--syslog-tag=tagsyslog 標簽後綴mysqld_safe-tag
--timezone=zone設置 TZ 環境變量Asia/Shanghai
--autocloseNetWare 專用:自動關閉控制台窗口-