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

SUSE SLES 11下MySQL 5.1原始碼編譯安裝完整實戰筆記

     編輯:MySQL 綜合教學

在企業級Linux環境部署MySQL時,原始碼編譯安裝可實現自訂安裝路徑、優化編譯參數、啟用特定功能模組。本文記錄在SUSE SLES 11上編譯安裝MySQL 5.1.45的完整過程,包含依賴解決、配置優化、安全初始化等關鍵步驟。

安裝環境與版本選擇

  • 作業系統:SUSE Linux Enterprise Server 11 (SLES 11)
  • 目標版本:MySQL 5.1.45(穩定性優先,生產環境建議保守選版)
  • 安裝路徑:/work/soft/database/MySQL/MySQL5.1
  • 資料目錄:/work/soft/database/MySQL/MySQLdata

RPM安裝嘗試與限制

嘗試使用官方RPM包安裝:

rpm -ivh MySQL-server-community-5.1.45-1.sles11.i586.rpm

雖安裝成功且服務自動啟動(3306端口監聽),但RPM預設安裝路徑不可變更:

rpm -ivh --prefix=/work/soft/database/MySQL/ MySQL-server-*.rpm
# 錯誤:package MySQL-server-community is not relocatable

無法滿足自訂路徑需求,故改為原始碼編譯。

原始碼編譯完整流程

1. 依賴套件準備

配置過程報錯No curses/termcap library found,需先安裝ncurses:

gunzip ncurses-5.7.tar.gz
tar xvf ncurses-5.7.tar
cd ncurses-5.7
./configure && make && make install

2. MySQL配置與編譯

./configure \
  --prefix=/work/soft/database/MySQL/MySQL5.1 \
  --localstatedir=/work/soft/database/MySQL/MySQLdata \
  --with-charset=utf8 \
  --with-extra-charsets=all \
  --with-client-ldflags=-all-static \
  --with-mysqld-ldflags=-all-static \
  --with-unix-socket-path=/work/soft/database/MySQL/tmp/mysql.sock

make && make install

關鍵參數說明:--with-charset=utf8設定預設字符集,--with-extra-charsets=all啟用所有字符集支援,靜態連結參數提升執行效能。

3. 資料庫初始化

scripts/mysql_install_db

輸出確認系統表建立完成,並提示設定root密碼與安全配置。

4. 服務啟動與開機自啟

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on

5. 環境變數與別名配置

編輯/etc/profile:

export PATH=$JAVA_HOME/bin:$SOFT_ROOT/database/MySQL/MySQL5.1/bin:$PATH
alias mysql_start="mysqld_safe &"
alias mysql_stop="mysqladmin -uroot -p shutdown"

安全性配置最佳實踐

1. 使用者與群組驗證

編譯安裝後系統自動建立mysql用戶/群組,進程以mysql身份運行,符合最小權限原則。

2. Root密碼設定與匿名帳號清理

mysqladmin -u root password 'yourpassword'
mysql -uroot -p
mysql> USE mysql;
mysql> DELETE FROM user WHERE password = '';
mysql> UPDATE user SET host = '%' WHERE user = 'root';
mysql> FLUSH PRIVILEGES;

安全建議:生產環境root應禁止遠程登入(host='localhost'),另建專用管理帳號開放遠程存取。

3. 防火牆與網路配置

確認3306端口僅對受信任IP開放,必要時配置SSL加密連接。

透過原始碼編譯安裝,獲得了完全可控的部署環境,為後續效能調優與安全強化奠定基礎。

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