MySQL8でバージョンを指定してインストールする

mysql-logo MySQL

特定バージョンのMySQL8を設定し直す必要があったのでその時のメモ。

バージョン戻す前の状況とか環境とか

  • OS : CentOS7.6
  • インストール済みのMySQL : 8.0.21
  • MariaDBは削除済み

ざっくりと上記のような環境で行った。以下rootにて実行。今回は8.0.14を入れた。

MySQLの停止

systemctl status mysqld

activeで稼働中であることを確認。

systemctl stop mysqld

停止

インストール済みのMySQLを確認

rpm -qa | grep -i mysql
mysql80-community-release-el7-3.noarch
mysql-community-common-8.0.21-1.el7.x86_64
mysql-community-client-8.0.21-1.el7.x86_64
mysql-community-libs-8.0.21-1.el7.x86_64
mysql-community-server-8.0.21-1.el7.x86_64

上記のようにパッケージが出てくるので削除せず残すものがあるかは確認しておく。

インストール済みのMySQL・DBの削除

パッケージ削除

yum remove mysql*

まとめて消して良いなら上記で。

yum remove mysql-community-common-8.0.21-1.el7.x86_64

1つずつ指定して消すなら。

必要ならデータベースを削除

rm -rf /var/lib/mysql

デフォルトのデータベースのディレクトリは/var/lib/mysql。パッケージ消しても残るので必要なら消す。

以下では全部mysql関係のものが削除されている状態から進めている。

リポジトリのインストール

rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

こことかでインストールしたいものを探す。

Downloadページに行き、ダウンロードのリンクをコピーし、上記のように指定。

過去のアーカイブから必要なバージョンをもってくる

wgetが入ってないようなら入れる

yum install wget

.tarファイルの取得

ここからOS等を選択し、ダウンロードのリンクをコピー。
必要なものだけ持ってきてもよいが、面倒ならRPM Bundleからまとめてもってくる。
今回であれば以下のような形。

mysql_archive_page


任意の場所で以下を実行しダウンロードする。

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.14-1.el7.x86_64.rpm-bundle.tar

tarで展開する

tar -xvf mysql-8.0.14-1.el7.x86_64.rpm-bundle.tar

任意の場所でtarでファイルを展開する。以下のような感じ。

 mysql-8.0.14-1.el7.x86_64.rpm-bundle.tar
 mysql-community-client-8.0.14-1.el7.x86_64.rpm
 mysql-community-common-8.0.14-1.el7.x86_64.rpm
 mysql-community-devel-8.0.14-1.el7.x86_64.rpm
 mysql-community-embedded-compat-8.0.14-1.el7.x86_64.rpm
 mysql-community-libs-8.0.14-1.el7.x86_64.rpm
 mysql-community-libs-compat-8.0.14-1.el7.x86_64.rpm
 mysql-community-server-8.0.14-1.el7.x86_64.rpm
 mysql-community-test-8.0.14-1.el7.x86_64.rpm

必要なパッケージのインストール

ここは依存関係ではまりやすいので注意。特にバージョン等を意識しない場合は

yum install mysql-community-server

これで合わせて他のパッケージも含めインストールされて十分かもしれない。

しかし、これだと指定したバージョンにならないことがあるため、1つずつ入れる。依存関係からインストール順にも注意する。この辺りは必要なパッケージに合わせて状況は変わるかもしれない。

-yオプションを使わず、余計なものがインストールされていないか確認しながらやった方が無難。
以下は参考のインストール順。

yum localinstall mysql-community-common-8.0.14-1.el7.x86_64.rpm
yum localinstall mysql-community-libs-8.0.14-1.el7.x86_64.rpm
yum localinstall mysql-community-client-8.0.14-1.el7.x86_64.rpm
yum localinstall mysql-community-server-8.0.14-1.el7.x86_64.rpm

バージョンの確認

mysql --version

任意のバージョンになっていればOK。

まとめ

パッケージマネージャを利用していても、依存関係で思ったバージョンにならないとかはありがち。
入れなれている場合は別だが、あまり知見がないものを-yで確認せずいれると、かえって時間がかかることもあるので注意。

タイトルとURLをコピーしました