CentOS標準のリポジトリからMySQLをyumでインストールできますが、 標準リポジトリからインストールできるMySQLは結構古いバージョンです。 ここではより新しいバージョンをCentOSにyumでインストールする方法を紹介したいと思います。
MySQL公式のリポジトリを追加する
MySQLは最新のパッケージを含むyumリポジトリを公開しています。 したがって、まずそのリポジトリをシステムに利用できるようします。 それには、MySQLから配布されているRPMをインストールするのが簡単です。 このRPMは以下のWebサイトからダウンロードできます。
http://dev.mysql.com/downloads/repo/yum/
RPMはCentOSのバージョンごとに用意されていますので、適切なRPMを選択します。 CentOS7系であれば「Red Hat Enterprise Linux 7 / Oracle Linux 7」のRPMを選択します。 なお、ここにはCentOSの表記がありませんが、 ほかの箇所ではサポートしている旨の記載があるので問題ないでしょう。
ダウンロードのボタンをクリックした後、 表示されたページの下部にある「No thanks, just start my download.」 をクリックすればダウンロードが開始されます。 ダウンロードしてインストールするマシンに配置したら以下のようにRPMをインストールします。
# yum localinstall mysql80-community-release-el7-3.noarch.rpm
MySQLのYumリポジトリを無効化する
MySQLのリポジトリは無効化しておきます。 これは通常時に誤ってMySQLリポジトリからパッケージをインストールしてしまわないようにするためです。
RPMをインストールしたら、利用可能になったMySQLリポジトリを確認します。
# yum repolist all | grep mysql mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community disabled mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community disabled mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community disabled mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - disabled mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 141 mysql-connectors-community-source MySQL Connectors Community - disabled mysql-tools-community/x86_64 MySQL Tools Community enabled: 105 mysql-tools-community-source MySQL Tools Community - Sourc disabled mysql-tools-preview/x86_64 MySQL Tools Preview disabled mysql-tools-preview-source MySQL Tools Preview - Source disabled mysql55-community/x86_64 MySQL 5.5 Community Server disabled mysql55-community-source MySQL 5.5 Community Server - disabled mysql56-community/x86_64 MySQL 5.6 Community Server disabled mysql56-community-source MySQL 5.6 Community Server - disabled mysql57-community/x86_64 MySQL 5.7 Community Server disabled mysql57-community-source MySQL 5.7 Community Server - disabled mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 161 mysql80-community-source MySQL 8.0 Community Server - disabled
MySQLのリポジトリだけ確認したいので、grepで表示を絞っています。 この一覧にはリポジトリが有効(enabeld)か無効(disabled)かの情報も表示されます。
一覧を見ればわかる通り、MySQLのリポジトリはMySQLのバージョンごとにサブリポジトリに分かれています。 例えばMySQL8.0のMySQL Community Serverパッケージはmysql80-community/x86_64 にあります。 デフォルトでは、MySQLの最新版のGAリリース(安定リリースのこと)のリポジトリが有効にされています。
MySQLのリポジトリで有効になっているリポジトリもわかりましたので、 これらのリポジトリを無効化しておきます。 無効化の方法はこちらで詳細に記載していますのでそちらを参考してください。
yum-config-managerがサポートされている場合は、次のコマンドで各リポジトリを無効化できます。
# yum-config-manager --disable mysql-connectors-community mysql-tools-community mysql80-community
また、yumリポジトリの設定ファイルを修正して無効化することもできます。 yumリポジトリの設定ファイルは/etc/yum.repos.d/の下にあり、 MySQLのリポジトリの設定ファイルはファイル名にmysqlが付いています。 これらのファイルの「enabled=1」の記述を「enabled=0」に変更します。
ls -l /etc/yum.repos.d/ | grep mysql -rw-r--r--. 1 root root 2076 Apr 24 2019 mysql-community.repo -rw-r--r--. 1 root root 2108 Apr 24 2019 mysql-community-source.repo
yumコマンドでMySQLのインストール
MySQLリポジトリはバージョンごとにサブリポジトリに分かれているのは先ほど説明した通りです。 yumコマンドの--enablerepoオプションはコマンドの実行時に指定されたリポジトリを有効にしますので、 インストールしたいバージョンのリポジトリを指定してコマンドを実行します。
次の例はMySQL8.0をインストールする例です。 MySQLリポジトリのMySQLサーバのパッケージ名はmysql-community-serverです。
# yum install --enablerepo=mysql80-community mysql-community-server
これで、MySQL Serverを実行するために必要なコンポーネントがインストールされます。
追加のMySQL関連パッケージのインストール
MySQL関連パッケージの一部は、MySQLサーバー本体のリポジトリ以外のサブリポジトリに配置されています。 MySQL公式のYumリポジトリから利用可能なすべてのMySQLパッケージを表示するには次のように実行します。
# yum --disablerepo=\* --enablerepo='mysql*-community*' list available
追加で必要なパッケージがあれば、 先ほど説明した方法と同様に必要なリポジトリを有効化してパッケージをインストールします。
これでMySQLパッケージのインストールは完了です。 この後は、MySQLの必要な設定や起動確認などを行ってください。