官網提供預編譯二進制包 (mysql-3.23.xx-pc-linux-gnu-i686.tar.gz),**無需編譯**,解壓即用,適合快速部署。
# 解壓至 /usr/local
cd /usr/local
gunzip < mysql-3.23.25-pc-linux-gnu-i686.tar.gz | tar xvf -
# 目錄名過長,重命名
mv mysql-3.23.25-pc-linux-gnu-i686 mysql
複製範本並修改 /etc/my.cnf:
cp support-files/my-medium.cnf /etc/my.cnf
vi /etc/my.cnf
[mysqld]
port = 8888 # 修改預設 3306 增加安全性 (隱藏服務特徵)
socket = /tmp/mysql.sock # Socket 路徑,注意目錄權限
log = /var/log/mysql.log # 一般日誌集中管理
basedir = /usr/local/mysql # 安裝根目錄 (非 bin 目錄)
datadir = /free/mysqldbf # 資料目錄 (獨立分區,利於管理備份)
user = mysql # **專用用戶啟動,禁止 root**
| 參數 | 用途 | 建議 |
|---|---|---|
port | TCP 監聽埠 | 非預設埠 (如 8888) 降低掃描風險 |
socket | 本地 Unix socket | 放 /tmp 或 /var/lib/mysql,確保 mysql 用戶可寫 |
log | 一般查詢日誌 | 集中到 /var/log 方便輪替 |
basedir | 安裝目錄 | 指向 /usr/local/mysql |
datadir | 資料檔目錄 | 獨立磁碟/分區,非預設 data 子目錄 |
user | 啟動用戶 | **必須建立專用 mysql 用戶,嚴禁 root** |
# 建立系統資料庫
cd /usr/local/mysql
./scripts/mysql_install_db
# 啟動 (背景執行)
./bin/safe_mysqld &
vi /etc/rc.d/rc.local
# 末尾加入
cd /usr/local/mysql
./bin/safe_mysqld &
datadir 下的 .err 錯誤日誌 (通常是權限問題)。chown -R mysql:mysql /free/mysqldbf。./bin/mysqld --help 或剖析 safe_mysqld 腳本。