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

FreeBSD 安裝 MySQL 5 關鍵注意事項與優化建議

     編輯:MySQL 綜合教學

系統版本建議

  • 推薦 FreeBSD 4.x 或更新版本(執行緒整合度較高)
  • 生產環境僅使用標記 -RELEASE 的核心,確保穩定與安全

推薦安裝方式:Ports 系統

使用 mysql-server 與 mysql-client ports(官方源)優勢:

  • 自動啟用已知相容的最佳化編譯選項
  • 自動配置與建構
  • 安裝啟動腳本至 /usr/local/etc/rc.d
  • 可用 pkg_info -L 查詢安裝檔案、pkg_delete 乾淨移除

執行緒庫選擇與已知問題

FreeBSD 版本建議執行緒庫備註
2.xMIT-pthreads
3.x 及以上原生執行緒部分晚期 2.2.x 亦可嘗試原生,但關閉 mysqld 可能異常

關鍵已知問題:gethostbyname() 非執行緒安全

MySQL 使用 gethostbyname() 解析主機名,某些情況下導致 mysqld 佔用 100% CPU 並無回應。解決方案:

  • 啟動參數加入 --skip-name-resolve(跳過主機名解析,需在授權表使用 IP)
  • 或於 FreeBSD 4.x 連結 LinuxThreads 库(參考 Jeremy Zawodny 對比文章)

LinuxThreads 於 FreeBSD 的已知缺陷: 連線逾時參數(wait_timeout、interactive_timeout、net_read_timeout)不生效,持久連線可能長時間不釋放,kill 執行緒需等待新命令才生效。預計 FreeBSD 5.0 修復。

編譯環境需求

  • 必須安裝 GNU make(gmake),否則無法編譯
  • 推薦 GCC 2.95.2+ 並採用以下優化參數:
CC=gcc CFLAGS="-O2 -fno-strength-reduce" \
CXX=gcc CXXFLAGS="-O2 -fno-rtti -fno-exceptions -felide-constructors -fno-strength-reduce" \
./configure --prefix=/usr/local/mysql --enable-assembler
gmake
gmake install
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
bin/mysqld_safe &

常見編譯問題排查

  • configure 若偵測為 MIT-pthreads,請閱讀相關說明文件
  • make install 报找不到 /usr/include/pthreads:刪除 config.cache,重新執行 configure --with-mit-threads

系統層面優化設定

名稱解析與 /etc/hosts

確保解析設定正確,否則連線會延遲或失敗。/etc/hosts 首行應類似:

127.0.0.1 localhost localhost.your.domain

檔案描述符限制

FreeBSD 預設檔案描述符上限較低,建議:

  • 啟動時加入 --open-files-limit 參數
  • 或修改 /etc/login.conf 提升 mysqld 使用者限制,再執行 cap_mkdb /etc/login.conf
  • 確認密碼檔中該使用者類別正確(chpass mysqld-user-name)

大記憶體支援(>512MB RAM)

需重編核心,調整 LINT 設定檔中的 option MAXDSIZ。

時區問題

若 MySQL 日期異常,設定 TZ 環境變數通常可解決。

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