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

FreeBSD/Unix 系統下 MySQL 源碼編譯安裝與運行維護要點

     編輯:MySQL 資料庫相關知識

前言

雖然現代 Unix/Linux 發行版提供預編譯套件,但源碼編譯安裝 MySQL 仍具備 版本自主可控、優化編譯選項、適配特殊硬件/內核 等優勢。本文基於 FreeBSD 環境,梳理從獲取源碼到生產運行的關鍵節點。

一、獲取最新源碼

官方發布頁:https://dev.mysql.com/downloads/mysql/

  • 選擇 Source Code → Generic Linux (Architecture Independent), Compressed TAR Archive
  • 驗證簽名:gpg --verify mysql-boost-8.0.xx.tar.gz.asc
  • 解壓:tar -xzf mysql-boost-8.0.xx.tar.gz

二、編譯前環境檢查

FreeBSD 3.0+ 需使用原生線程庫,CMake 參數:-DWITH_NUMA=ON -DWITH_SSL=system

三、典型編譯安裝流程

cd mysql-8.0.xx
mkdir build && cd build

cmake .. \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_DATADIR=/usr/local/mysql/data \
  -DSYSCONFDIR=/etc \
  -DWITH_BOOST=../boost \
  -DWITH_INNODB_MEMCACHED=ON \
  -DDEFAULT_CHARSET=utf8mb4 \
  -DDEFAULT_COLLATION=utf8mb4_general_ci \
  -DWITH_DEBUG=OFF

gmake -j$(sysctl -n hw.ncpu)
gmake install

常見編譯問題對策

  1. 內存不足:添加 -DWITH_LOW_MEMORY=ON 或增加 swap
  2. 重新配置:rm -f CMakeCache.txt && gmake clean 後重跑 cmake
  3. 權限錯誤:確保構建目錄擁有者為構建用戶,安裝階段需 root

四、初始化與啟停管理

1. 首次初始化數據目錄

# 創建專用用戶
pw groupadd mysql
pw useradd mysql -g mysql -s /sbin/nologin -d /usr/local/mysql

# 初始化(MySQL 5.7+)
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql \
  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

# 設置目錄權限
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

2. 啟動/停止腳本

# 啟動
/usr/local/mysql/share/mysql/mysql.server start

# 停止(無密碼)
/usr/local/mysql/bin/mysqladmin -u root shutdown

# 停止(有密碼)
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
腳本權限:chmod 755 /usr/local/mysql/share/mysql/mysql.server

3. 開機自啟配置

FreeBSD /etc/rc.conf 添加:

mysql_enable="YES"
mysql_args="--user=mysql"

或將腳本鏈接至 /usr/local/etc/rc.d/。

五、安全與維護最佳實踐

  1. 運行 mysql_secure_installation:設置 root 密碼、移除匿名用戶、禁止遠程 root、刪除 test 庫
  2. 專用用戶運行:修改 mysql.server 中 mysql_daemon_user=mysql,避免 root 權限風險
  3. 新增數據庫後同步權限:chown -R mysql:mysql /usr/local/mysql/data/new_db
  4. 定期執行 mysqlcheck -o:優化表碎片
  5. 監控錯誤日志:tail -f /usr/local/mysql/data/.err

六、總結

源碼編譯安裝 MySQL 雖步驟較多,但每一步都可控。關鍵點在於:工具鏈版本達標、CMake 參數精準、專用用戶隔離權限、啟停腳本納入系統服務管理。掌握此流程,即可在任何 Unix-like 系統上構建穩定、高性能的 MySQL 實例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
組件最低版本檢查命令
GCC4.8+ (建議 7+)gcc --version
CMake3.5+cmake --version
Bison2.1+bison --version
OpenSSL1.0.1+openssl version
libaio-pkg info libaio (FreeBSD)