-RELEASE 的核心,確保穩定與安全使用 mysql-server 與 mysql-client ports(官方源)優勢:
/usr/local/etc/rc.dpkg_info -L 查詢安裝檔案、pkg_delete 乾淨移除| FreeBSD 版本 | 建議執行緒庫 | 備註 |
|---|---|---|
| 2.x | MIT-pthreads | |
| 3.x 及以上 | 原生執行緒 | 部分晚期 2.2.x 亦可嘗試原生,但關閉 mysqld 可能異常 |
MySQL 使用 gethostbyname() 解析主機名,某些情況下導致 mysqld 佔用 100% CPU 並無回應。解決方案:
--skip-name-resolve(跳過主機名解析,需在授權表使用 IP)LinuxThreads 於 FreeBSD 的已知缺陷: 連線逾時參數(wait_timeout、interactive_timeout、net_read_timeout)不生效,持久連線可能長時間不釋放,kill 執行緒需等待新命令才生效。預計 FreeBSD 5.0 修復。
gmake),否則無法編譯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 首行應類似:
127.0.0.1 localhost localhost.your.domain
FreeBSD 預設檔案描述符上限較低,建議:
--open-files-limit 參數/etc/login.conf 提升 mysqld 使用者限制,再執行 cap_mkdb /etc/login.confchpass mysqld-user-name)需重編核心,調整 LINT 設定檔中的 option MAXDSIZ。
若 MySQL 日期異常,設定 TZ 環境變數通常可解決。