特定バージョンの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からまとめてもってくる。
今回であれば以下のような形。
任意の場所で以下を実行しダウンロードする。
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で確認せずいれると、かえって時間がかかることもあるので注意。