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

Linux 下 MySQL 原始碼編譯安裝完整指南:從下載到 Root 密碼設定

     編輯:MySQL 資料庫相關知識

相較 RPM 安裝,原始碼編譯可自訂安裝路徑、啟用/停用功能模組、優化編譯參數。本文以 MySQL 3.22 為例,記錄完整的 tar.gz 二進位套件與原始碼編譯安裝流程。

1. 二進位預編譯套件安裝(較簡單)

cd /usr/local
tar -zxvf /tmp/mysql-3.22.21-pc-linux-gnu-i686.tar.gz
ln -s mysql-3.22.21-pc-linux-gnu-i686 mysql

建立符號連結方便日後升級切換版本。

2. 建立 mysql 系統帳號

groupadd mysql
useradd -g mysql -s /bin/false -M mysql

-s /bin/false 禁止登入,-M 不建立家目錄,符合最小權限原則。

3. 設定目錄權限並初始化資料庫

cd /usr/local
chown -R mysql:root mysql-3.22.21-pc-linux-gnu-i686 mysql
su - mysql
cd mysql
scripts/mysql_install_db
exit

必須以 mysql 身分執行初始化,建立 mysql 系統資料庫與授權表。

4. 設定開機自啟

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig --add mysql
/sbin/chkconfig --level 345 mysql on

5. 原始碼編譯安裝(進階自訂)

cd /tmp
tar -zxvf mysql-4.0.14.tar.gz -C /setup
cd /setup/mysql-4.0.14

./configure --prefix=/web/mysql \
  --without-debug \
  --with-extra-charsets=gb2312 \
  --enable-assembler \
  --without-isam \
  --without-innodb \
  --with-pthread \
  --enable-thread-safe-client \
  --with-client-ldflags=-all-static \
  --with-mysqld-ldflags=-all-static \
  --with-raid

make && make install

關鍵參數說明:

  • --without-innodb:不需事務功能可減小體積
  • --enable-assembler:啟用組合語言優化字串函數
  • -all-static:靜態連結,部署單一執行檔無相依
  • --with-extra-charsets=gb2312:內建中文編碼支援

6. 後續通用設定

scripts/mysql_install_db
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 700 /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start

# 驗證
netstat -an | grep 3306
mysqladmin -u root password 'new_strong_password'
mysql -u root -p

7. 刪除匿名帳號

mysql> USE mysql;
mysql> DELETE FROM user WHERE Password = '';
mysql> FLUSH PRIVILEGES;

結語

原始碼編譯雖步驟較多,但能針對硬體優化、精簡模組、靜態連結部署。生產環境建議:固定編譯參數腳本化、建立專屬 RPM/DEB 套件、納入配置管理,確保可重現部署。

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