end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

install mysql 8.1 from source to rhel9

mysqlは、ver.8.0が最新である状態が長くありましたが、 ver.8.1がリリースされましたので、sourceからインストール。

目次

Innovationと LTSリリース、mysql8.0のeolは2026

mysqlは、ver.8.1からリリースが、 Innovationと Long-Term Support(LTS)に別れたらしく、 今回のver.8.1はInnovationに該当するらしい。

一方、ver.8.0はLTSに該当し、eolは最遅2026年らしく、 本番運用でver.8.0を利用する方には大変ありがたい。

参考url

本来、install手順は dev.mysql.com を参照すべきかと思いますが、 現時点で、有用な情報は記載されていないようでしたので、 前回2022年の自分のentryを参考にinstallします。

install先の環境

virtualbox + windows11 + thinkpad x1 cabon上のrhel9へ、インストールします。

$ uname --all
Linux rhel9.a5.jp 5.14.0-162.6.1.el9_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Sep 30 07:36:03 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.1 (Plow)

dowanload source

curl -OL  https://dev.mysql.com/get/Downloads/MySQL-8.1/mysql-boost-8.1.0.tar.gz
tar -xvf mysql-boost-8.1.0.tar.gz
cd mysql-8.1.0

依存libraryのyum install

以前、mysql8.0をcent7へ installした際とは異なる libraryを いくつかyum install。

$ sudo yum install gcc-toolset-12*

## cf https://qiita.com/koshikawa/items/906d715da06d43ed8b66
$ sudo subscription-manager repos \
    --enable=codeready-builder-for-rhel-9-x86_64-rpms
$ sudo yum install libtirpc-devel

$ sudo yum install rpcgen

cmake や make

原因は調べていませんが

  • make 完了に 4時間超を要しました
  • make test でいくつか fail しました
$ /usr/bin/cmake . \
   -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
   -DDEFAULT_CHARSET=utf8 \
   -DDEFAULT_COLLATION=utf8_general_ci \
   -DENABLED_LOCAL_INFILE=true \
   -DWITH_INNOBASE_STORAGE_ENGINE=1 \
   -DWITH_EXTRA_CHARSETS=all \
   -DWITH_READLINE=ON \
   -DDOWNLOAD_BOOST=ON \
   -DWITH_BOOST=/home/end0tknr/tmp/mysql-8.1.0/boost \
   -DFORCE_INSOURCE_BUILD=1 \
   -DWITH_SYSTEMD=ON

$ make   #← 4時間超...
$ make test
  :
Total Test time (real) = 1687.82 sec

The following tests FAILED:
    246 - routertest_integration_routing_direct (Failed)
    247 - routertest_integration_routing_reuse (Failed)
    248 - routertest_integration_routing_sharing (Failed)
    249 - routertest_integration_routing_sharing_constrained_pools (Failed)
    250 - routertest_integration_routing_sharing_restart (Failed)
    251 - routertest_integration_routing_tracing (Failed)
    
$ sudo make install

以降、省略

以降は、前回のentryと同様の作業で問題ありませんでしたので、省力します