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_GCOV
とENABLED_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. まとめ
- 必要パッケージのインストール
gcc、cmake、make、Perl、依存ライブラリ(zlib-devel、ncurses-devel など)をインストール。 - OpenSSL のコンパイル・インストール
最新の OpenSSL(例: 1.1.1L)をダウンロードし、/usr/local/ssl
にインストール。
※ システムライブラリとの競合を避けるため、環境変数や ld.so.conf の更新を実施。 - MySQL‑Boost 5.7.44 のダウンロードと展開
mysql‑boost‑5.7.44.tar.gz をダウンロードし、展開。 - ビルド用ディレクトリの作成と CMake による構成
ソース外ビルド用ディレクトリ(build)を作成し、CMake のオプションでインストール先、ストレージエンジン、文字セット、Boost、OpenSSL のパスなどを指定。 - make によるビルドと make install によるインストール
並列ビルド(例: make -j4)を実行後、sudo を用いてインストール。 - 環境変数の更新と初期設定
PATH の更新、データディレクトリの初期化、mysql_secure_installation の実行などを行い、運用開始。
この手順により、OpenSSL のソースからのコンパイル・インストールと、MySQL‑Boost 5.7.44 のコンパイル・インストールが完了します。各ステップで発生するエラーや警告については、環境に応じた調整を行いながら進めてください。