こんにちは。SREチーム インフラエンジニアの綿引です。
MySQL の特定のバージョンをインストールしたい!
だけど yum でさくっとインストールしようとしたら、マイナーバージョンが上がっていて同じにならない。。
なんてことよくありますよね。そうです。先週の私です。
そこで今回は古いバージョンの MySQL を yum インストールする手順を記載したいと思います。
手順
1. 依存関係解決のために、最新のリポジトリを追加する
まずは最新のリポジトリをインストールしましょう。
$ cd /etc/yum.repos.d/ $ ls -l $ sudo rpm -ivh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm $ ls -l
2. wget をインストールする
この後ファイルを落としてくるので、入ってなければ wget をインストールしましょう。
$ sudo yum list installed wget $ sudo yum install wget $ sudo yum list installed wget
3. 過去にマイナーバージョンが入った tar ファイルを取得する
MySQL の公式サイトには過去のバージョンの MySQL 達がアーカイブされています。
例えば、MySQL Community Server が欲しい時には、上記URLにアクセスし
以下を実施していくとお好みのバージョンに出会えます。
・MySQL Community Server を選択
![]() |
---|
・Product Version を選択
![]() |
---|
・Operating System を選択
![]() |
---|
・OS Version を選択
![]() |
---|
これでお目当の tar ファイルが表示されました。
![]() |
---|
これをサーバにダウンロードして、展開後にインストールしていきます。
$ cd /usr/local/src $ ls -l $ sudo wget https://downloads.mysql.com/archives/get/file/mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar $ ls -l $ sudo tar -xvf mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar $ ls -l $ sudo yum list installed | grep mysql
4. rpm を指定して localinstall する
rpm コマンドでもインストールできますが、依存関係が面倒なので yum の localinstall を実施していきます。
そして必要なパッケージはまとめてインストールしましょう。
「mysql-community-server だけ 5.7.19 入れれば、依存関係がきっと何かうまいことやって、必要なパッケージ全部 5.7.19 になるだろ!」
$ sudo yum localinstall mysql-community-server-5.7.19-1.el7.x86_64.rpm
と何も考えずやったら痛い目を見ます。そうです。先週の私です。
(後で見たら server が 5.7.21 で client が 5.7.21でした。。)
まとめてインストールしていきます。
$ sudo yum localinstall mysql-community-server-5.7.19-1.el7.x86_64.rpm \ mysql-community-client-5.7.19-1.el7.x86_64.rpm \ mysql-community-common-5.7.19-1.el7.x86_64.rpm \ mysql-community-devel-5.7.19-1.el7.x86_64.rpm \ mysql-community-libs-5.7.19-1.el7.x86_64.rpm \ mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm $ sudo yum list installed | grep mysql
これで バージョンが 5.7.19 になっていればOKです!
まとめ
今回は古いバージョンの MySQL を yum インストールしてみました。
個人環境を整えたい方、負荷分散用の DB サーバを構築したい方など参考にして頂ければ幸いです。
ご清覧頂きありがとうございました。
Wedding Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。
興味のある方はぜひ一度気軽にオフィスに遊びにいらして頂ければと思います。