【実践ガイド】MySQL‑Boost 5.7.44 & OpenSSL 1.1.1L をソースからビルド・インストールする完全手順

1. 事前準備

必要なパッケージのインストール

以下のツールやライブラリがインストールされていることを確認してください。

  • gcc / g++
  • make
  • cmake
  • Perl(OpenSSL のビルドに必要)
  • 依存ライブラリ(zlib-devel、ncurses-devel など)

例(CentOS/RHEL 系の場合):

sudo yum install gcc gcc-c++ make cmake perl zlib-devel ncurses-devel

2. OpenSSL のコンパイル・インストール

MySQL の SSL サポートには OpenSSL 1.1.0 以降が必要です。システムのデフォルトが古い場合は、ソースから新しいバージョンをコンパイルしてください。ここでは OpenSSL 1.1.1L の例です。

2.1 ソースコードのダウンロードと展開

wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz
tar -xzvf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l

2.2 コンパイルとインストール

以下の例では、インストール先を /usr/local/ssl とします。

./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl no-shared
make -j4
sudo make install

※ 必要に応じて、システムのライブラリパスや環境変数を更新してください。
たとえば、/usr/local/ssl/lib/etc/ld.so.conf.d/openssl.conf に追加し、ldconfig を実行するなどの対応を行います。


3. MySQL‑Boost 5.7.44 のコンパイル・インストール

3.1 ソースコードのダウンロードと展開

MySQL の公式サイトまたはミラーサイトから「mysql‑boost‑5.7.44.tar.gz」をダウンロードし、展開します。

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.44.tar.gz
tar -xzvf mysql-boost-5.7.44.tar.gz
cd mysql-5.7.44

3.2 ビルド用ディレクトリの作成

ソース外ビルドを推奨します。ソースディレクトリ内に build ディレクトリを作成して移動します。

mkdir build
cd build

3.3 CMake による構成

以下のコマンド例では、MySQL の主要なビルドオプションに加え、先ほどコンパイルした OpenSSL を使用するように設定しています。

CFLAGS="-m64 -march=native -g -O3" \
CXXFLAGS="-m64 -march=native -g -O3" \
cmake .. \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DINSTALL_LAYOUT=STANDALONE \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_PARTITION_STORAGE_ENGINE=1 \
  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  -DCOMPILATION_COMMENT="自己流" \
  -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci \
  -DENABLE_DTRACE=true \
  -DENABLE_GCOV=false \
  -DENABLED_LOCAL_INFILE=true \
  -DENABLED_PROFILING=false \
  -DWITH_DEBUG=false \
  -DWITH_EXTRA_CHARSETS=complex \
  -DDOWNLOAD_BOOST=1 \
  -DWITH_BOOST=../boost \
  -DENABLE_DOWNLOADS=1 \
  -DWITH_MECAB=system \
  -DOPENSSL_ROOT_DIR=/usr/local/ssl \
  -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include \
  -DOPENSSL_LIBRARIES="/usr/local/ssl/lib/libssl.so;/usr/local/ssl/lib/libcrypto.so"

【ポイント】

  • カバレッジ・プロファイリング無効化: ENABLE_GCOVENABLED_PROFILING を false に設定し、本番向けのリリースビルドとします。
  • Boost の利用: バンドルされている Boost を利用するため、-DWITH_BOOST=../boost と相対パスを指定しています。
  • OpenSSL の指定: 新しくインストールした OpenSSL のパスを明示的に指定することで、最新の SSL ライブラリが利用されます。

3.4 ビルドとインストール

構成が完了したら、make コマンドでビルドし、インストールします。

make -j4
sudo make install

4. インストール後の設定

4.1 環境変数の更新

MySQL のバイナリディレクトリ(例: /usr/local/mysql/bin)を PATH に追加します。

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile

4.2 初期設定

初回起動時には、データディレクトリの初期化やセキュリティ設定を行います。
例:

sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql
sudo /usr/local/mysql/bin/mysql_secure_installation

5. まとめ

  1. 必要パッケージのインストール
    gcc、cmake、make、Perl、依存ライブラリ(zlib-devel、ncurses-devel など)をインストール。
  2. OpenSSL のコンパイル・インストール
    最新の OpenSSL(例: 1.1.1L)をダウンロードし、/usr/local/ssl にインストール。
    ※ システムライブラリとの競合を避けるため、環境変数や ld.so.conf の更新を実施。
  3. MySQL‑Boost 5.7.44 のダウンロードと展開
    mysql‑boost‑5.7.44.tar.gz をダウンロードし、展開。
  4. ビルド用ディレクトリの作成と CMake による構成
    ソース外ビルド用ディレクトリ(build)を作成し、CMake のオプションでインストール先、ストレージエンジン、文字セット、Boost、OpenSSL のパスなどを指定。
  5. make によるビルドと make install によるインストール
    並列ビルド(例: make -j4)を実行後、sudo を用いてインストール。
  6. 環境変数の更新と初期設定
    PATH の更新、データディレクトリの初期化、mysql_secure_installation の実行などを行い、運用開始。

この手順により、OpenSSL のソースからのコンパイル・インストールと、MySQL‑Boost 5.7.44 のコンパイル・インストールが完了します。各ステップで発生するエラーや警告については、環境に応じた調整を行いながら進めてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です