たれながし.info

とあるITエンジニアの備忘録

RHEL8へのMySQL5.7インストール手順


はじめに

Red Hat Enterprise Linux 8(以下RHEL8)にMySQL5.7をインストールする手順について記載します。

RHEL8がリリースされた2019年5月時点で、MySQL8.xが存在し(8.0は2018年4月リリース)、MySQL5.7は既に古いバージョンであったためか?MySQL5.7のRHEL8向けリポジトリは存在しないようです。
ということで、RHEL8にMySQL5.7をRPMパッケージからインストールするには、RHEL7向けのリポジトリをRHEL8に追加しインストールする必要があるようです。

ググると実施手順を記載したブログなどの情報がヒットするが、手順通りにうまく行かない部分があったので、試行錯誤してうまくいった手順をメモします。

ちなみに、MySQL公式の手順が以下URLで公開されているが、序盤の「MySQL5.7リポジトリの追加用rpm」のURLにたどり着けません。それ以外は参考になります。

参考情報)
MySQL :: MySQL 5.7 Reference Manual :: 2.5.1 Installing MySQL on Linux Using the MySQL Yum Repository

最後に、MySQL5.7は2023年10月にサポート終了となっています。

RHEL8にMySQL5.7をインストール

RHEL8.7にMySQL5.7をインストールします。

OSのバージョン確認

OSはRHEL8.7を使用しています。

# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.7 (Ootpa)

SELinuxは無効です。

# getenforce
Disabled

リポジトリの追加

# yum install https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

# cat /etc/yum.repos.d/mysql-community.repo[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
…

GPG KEYのインポート

・GPG KEYのインポート
# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

・インポートしたKEYの確認
# rpm -qi gpg-pubkey-3a79bd29-61b8bab7
Name        : gpg-pubkey
Version     : 3a79bd29
Release     : 61b8bab7
…
Summary     : gpg(MySQL Release Engineering <mysql-build@oss.oracle.com>)

MySQL5.7のインストール

・デフォルトのMySQLモジュールの無効化
# yum module disable mysql

・MySQL5.7のインストール
# yum install mysql-community-server

・インストール確認
# rpm -qa | grep mysql-community-server
mysql-community-server-5.7.44-1.el7.x86_64

MySQLの起動

# systemctl start mysqld
# systemctl enable mysqld

# ss -atnp | grep mysql
LISTEN 0      80                 *:3306                *:*    users:(("mysqld",pid=30322,fd=32))

rootパスワード変更

ログからデフォルトパスワードを確認し変更する

# cat /var/log/mysqld.log | grep root
2024-03-16T18:41:32.404003Z 1 [Note] A temporary password is generated for root@localhost: [デフォルトPW]

# mysql -u root -p

mysql> SET PASSWORD = '[新しいPW]';
Query OK, 0 rows affected (0.00 sec)