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

Linux 環境下編譯安裝 MySQL 5.5 完整指南與常見錯誤排查

     編輯:MySQL 資料庫相關知識

前言

MySQL 5.5 作為經典穩定版本,至今仍在許多生產環境中運行。本文詳細記錄在 Linux 系統(以 Ubuntu 為例)下從源碼編譯安裝 MySQL 5.5 的完整流程,並重點解決編譯過程中常見的 OpenSSL 版本兼容性問題。

一、準備編譯環境:安裝 CMake

MySQL 5.5 開始使用 CMake 替代傳統的 configure 作為構建工具。Ubuntu 系統可直接使用包管理器安裝:

apt-get update && apt-get install -y cmake

若需編譯安裝特定版本 CMake,可參考以下步驟:

wget https://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar xzvf cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
./configure
make && make install

安裝完成後執行 cmake --version 驗證版本。

二、下載並編譯安裝 MySQL 5.5

1. 獲取源碼包

wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.36.tar.gz
tar xzvf mysql-5.5.36.tar.gz
cd mysql-5.5.36

2. 配置編譯參數

根據生產環境需求調整以下關鍵參數:

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql

3. 編譯安裝

make && make install

三、常見編譯錯誤:OpenSSL 版本不兼容

錯誤現象

編譯過程中報錯:

/root/mysql-5.5.36/vio/viossl.c:175: error: 'SSL_OP_NO_COMPRESSION' undeclared

原因分析

MySQL 5.5 無法在 OpenSSL 1.0.0 及更低版本下正常編譯,因為新版 MySQL 代碼引用了舊版 OpenSSL 不存在的常量 SSL_OP_NO_COMPRESSION。

解決方案

方案一:禁用 SSL 支持
在 cmake 參數中移除 -DWITH_SSL=system 或改為 -DWITH_SSL=no。

方案二:升級 OpenSSL(推薦)
將系統 OpenSSL 升級至 1.0.1 或更高版本。

方案三:應用官方補丁(最便捷)
在執行 cmake 前應用 MySQL 官方提供的補丁:

cd mysql-5.5.36
wget -c "https://bugs.mysql.com/file.php?id=19941&bug_id=68999" -O mysql-openssl.patch
patch -p1 < mysql-openssl.patch

應用補丁後重新執行 cmake 和 make 即可通過編譯。

四、配置文件部署與啟動

1. 複製並修改配置文件

cp support-files/my-medium.cnf /etc/my.cnf
sed -i '/skip-external-locking/a\datadir = /data/mysql' /etc/my.cnf
sed -i 's:#innodb:innodb:g' /etc/my.cnf
sed -i 's:/usr/local/mysql/data:/data/mysql:g' /etc/my.cnf

2. 初始化數據目錄並啟動

/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql
/etc/init.d/mysql start

五、安裝驗證

/usr/local/mysql/bin/mysql -uroot -p -e "SELECT VERSION();"
# 輸出應顯示 5.5.36 版本信息

至此,MySQL 5.5 編譯安裝完成。建議後續配置防火牆規則、設置開機自啟動及 root 密碼等安全加固措施。

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