快速定位 MySQL 設定檔、資料目錄、二進制工具、函數庫,避免在 /usr、/var、/usr/local 之間盲目找檔案。本文對照 RPM 預設安裝與原始碼編譯安裝兩種主流部署方式的目錄佈局。
| 項目 | 預設路徑 |
|---|---|
| 程式碼/共享檔案 | /usr/share/mysql/ |
| mysqldump / mysql 客戶端工具 | /usr/bin/mysqldump, /usr/bin/mysql |
| 設定檔 | /etc/my.cnf (優先) 或 /usr/share/mysql/my.cnf |
| 資料目錄 | /var/lib/mysql/ |
| Socket 檔案 | /var/lib/mysql/mysql.sock |
| 錯誤日誌 | /var/log/mysqld.log |
| PID 檔案 | /var/run/mysqld/mysqld.pid |
| 啟動腳本 | /etc/init.d/mysqld 或 /usr/lib/systemd/system/mysqld.service |
| 項目 | 預設路徑 (--prefix=/usr/local/mysql) |
|---|---|
| 安裝根目錄 | /usr/local/mysql/ |
| 二進制工具 | /usr/local/mysql/bin/ (mysqld, mysql, mysqldump...) |
| 設定檔 | /usr/local/mysql/my.cnf 或 /etc/my.cnf (需手動建立/鏈接) |
| 資料目錄 | /usr/local/mysql/data/ (初始化時指定 --datadir) |
| 函數庫 | /usr/local/mysql/lib/ |
| 頭檔 | /usr/local/mysql/include/ |
| 支援檔案 | /usr/local/mysql/share/ |
| Socket | /tmp/mysql.sock (預設) 或資料目錄下 |
# 1. 查詢運行中實例的關鍵路徑
mysql -u root -p -e "SHOW VARIABLES WHERE Variable_name IN ('basedir','datadir','plugin_dir','log_error','pid_file','socket','tmpdir');"
# 2. 找設定檔實際讀取順序
mysqld --help --verbose 2>/dev/null | grep -A1 'Default options'
# 3. 找二進制位置
which mysqld
which mysqldump
datadir (含 .ibd, .frm, ibdata1, redo log, undo log)my.cnf (含所有自定義參數)ssl_ca, ssl_cert, ssl_key 指向的檔案釐清安裝方式對應的目錄佈局,能在故障排查、版本升級、資料遷移、權限設定等場景節省大量尋路時間。