yum で MySQL を最新ではない任意のマイナーバージョンへアップデートする
目的
アップデート作業時の最新は 5.7.41 だったのですが、これを 5.7.40 にしたいです。
$ mysql --version mysql Ver 14.14 Distrib 5.7.36, for Linux (x86_64) using EditLine wrapper
アップデートできる MySQL のバージョン確認
まず yum でアップデートできる最新バージョンの確認をしました。
$ yum search all --showduplicates mysql-community-server 読み込んだプラグイン:fastestmirror, presto, priorities Loading mirror speeds from cached hostfile * epel: d2lzkl7pfhq30w.cloudfront.net 649 packages excluded due to repository priority protections ======================================================= 一致: mysql-community-server ======================================================= mysql-community-server-5.7.9-1.el6.x86_64 : A very fast and reliable SQL database server mysql-community-server-5.7.10-1.el6.x86_64 : A very fast and reliable SQL database server <中略> mysql-community-server-5.7.39-1.el6.x86_64 : A very fast and reliable SQL database server mysql-community-server-5.7.40-1.el6.x86_64 : A very fast and reliable SQL database server mysql-community-server-5.7.41-1.el6.x86_64 : A very fast and reliable SQL database server
末尾に以下のようにあるので 5.7.41 が最新のようです。
数日前に更新されたばかりでした。ぐぬぬ…
mysql-community-server-5.7.41-1.el6.x86_64 : A very fast and reliable SQL database server
おそらくこのままバージョン指定をしないでアップデートするとこのバージョンがインストールされそうです。
そこで、ほしいバージョンの rpm をダウンロードして、それを使ってアップデートします。
ほしいバージョンをダウンロード
MySQL :: Download MySQL Community Server (Archived Versions)
上記のリンク先で以下を指定すると、対応したパッケージのダウンロードリンクが表示されます。
- 目当ての MySQL バージョン
- OS 種類
- OS のバージョン
ちなみに OS のバージョンやビット数は以下のコマンドで確認しました。
$ cat /etc/redhat-release CentOS release 6.10 (Final) $ arch x86_64
以下の「RPM Bundle」の「Download」からダウンロードします。
ローカルに落としてからサーバへアップしてもよかったのですが直接ダウンロードしたほうが早そうだったので curl コマンドでダウンロードしました。
curl -OL <ダウンロードのリンク>
※ wget コマンドでもいけますが入ってなかった
インストール
現在インストールされているバージョンの確認です。
あれ、なんかバージョン揃ってない…?
$ sudo yum list installed | grep "^mysql" mysql-community-client.x86_64 5.7.36-1.el6 @mysql57-community mysql-community-common.x86_64 5.7.36-1.el6 @mysql57-community mysql-community-libs.x86_64 5.7.36-1.el6 @mysql57-community mysql-community-libs-compat.x86_64 5.6.43-2.el6 @mysql56-community mysql-community-server.x86_64 5.7.36-1.el6 @mysql57-community
さきほど落としてきたファイルを指定してインストールします。
$ sudo yum localinstall mysql-community-server-5.7.40-1.el6.x86_64.rpm \ % mysql-community-client-5.7.40-1.el6.x86_64.rpm \ % mysql-community-common-5.7.40-1.el6.x86_64.rpm \ % mysql-community-devel-5.7.40-1.el6.x86_64.rpm \ % mysql-community-libs-5.7.40-1.el6.x86_64.rpm \ % mysql-community-libs-compat-5.7.40-1.el6.x86_64.rpm
インストール後のバージョン確認
$ sudo yum list installed | grep "^mysql" mysql-community-client.x86_64 5.7.40-1.el6 @/mysql-community-client-5.7.40-1.el6.x86_64 mysql-community-common.x86_64 5.7.40-1.el6 @/mysql-community-common-5.7.40-1.el6.x86_64 mysql-community-devel.x86_64 5.7.40-1.el6 @/mysql-community-devel-5.7.40-1.el6.x86_64 mysql-community-libs.x86_64 5.7.40-1.el6 @/mysql-community-libs-5.7.40-1.el6.x86_64 mysql-community-libs-compat.x86_64 5.7.40-1.el6 @/mysql-community-libs-compat-5.7.40-1.el6.x86_64 mysql-community-server.x86_64 5.7.40-1.el6 @/mysql-community-server-5.7.40-1.el6.x86_64
念の為 MySQL の再起動と upgrade コマンドを流しておきます。
$ sudo service mysqld restart $ sudo mysql_upgrade
アプリケーション側で動作確認して無事終了!