職業柄というか、こういう構築系の作業は必ず手順を残している。
「何を実行して」とか「何を確認して」という情報は後で必要になることが多いので。
時々私情とか愚痴入ってるけどw
今回の作業はDBアプリ MySQL のバージョンアップ。
Windowsのように"勝手によろしくやってくれる"ものではないところが敷居を上げている。
昔よりだいぶ楽になったと思うけど。
で、件のMySQL。
5.7にするには5.6を経由しろ という情報ばかりで、ヤダ。メンドクサイ。
アップデートしようとするから面倒なんだ。
1回消して、再インストールすれば良いんじゃね?
影響を受けるのはBlogではメインの2つ(日記&クルマ日記)とGoogle AdSenseの参考用Blogと
一般非公開のテスト環境Blog。
それに加えてクラウドストレージの合計5つ。
クラウドストレージは俺しか使っていないので適当に止めれば良いけど、Blogはなぁ・・・。
データのバックアップは簡単に取れるけど、何か問題があって動かなくなってしまうと面倒。
ま、なんとかなる(する)か(゚∀゚)
バックアップ
でもバックアップは念入りに。
DBからダンプファイルを出力した上で、更にデータファイルもコピーして待避。
/var/lib/mysql/
デフォルトだとこの辺りにあるはず。
Nextcloudのファイル類もサーバ上に配備してあるのを根こそぎコピーしておく。
過剰かもしれないけど、後で泣きを見るより手間を掛ける方が良いので。
リポジトリ最新化
リポジトリが古いままなので、EPELの新しいバージョンを入れましょう。
yumプラグインを入れて
yum -y install yum-priorities
EPELの7-12を入れる。
dnf install --allowerasing https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm
念のためにyumでもチェック。
yum install epel-release
パッケージ epel-release-7-12.noarch は既にインストールされています。スキップします。
依存性が解決されました。
行うべき処理がありません。
完了しました!
という感じになればOK。
確認する。
yum info community-mysql-server.x86_64
※略※
利用可能なパッケージ
名前 : community-mysql-server
バージョン : 5.7.22
ちゃんと5.7ですな。
いざ削除
systemctl stop mysqld.service
止めますよっと。
yum remove community-mysql-server
ブルルルルァァァァア!(若本ボイス
設定ファイルの/etc/my.cnf
やDBのデータファイル類の/var/lib/mysql
は残ったままなので
変なことが起きないようにリネームしておく。
mv /var/lib/mysql /var/lib/mysql_bak
mv /etc/my.cnf /etc/my.cnf_bak
MySQLインストール
ほんじゃインストールしましょう。
yum install community-mysql-server.x86_64
エラー: Transaction check error:
( ゚д゚ )
内容を読むと"mariadbと競合している"とある。
あ、そういやMySQLじゃなくてMySQL 5.1相当のMariaDBだった。
yum remove mariadb
消してやったら依存性が解決した。
焦らせよって・・・w
再度インストールしたら無事完了。
ひとまず設定は変えずに動かしてみる。
サービスの起動&有効化
systemctl start mysqld.service
systemctl enable mysqld.service
rootでログイン
mysql -u root
select User, host, Plugin from mysql.user;
| User | host | Plugin |
+---------------+-----------+-----------------------+
| root | localhost | mysql_native_password |
| mysql.session | localhost | mysql_native_password |
| mysql.sys | localhost | mysql_native_password |
+---------------+-----------+-----------------------+
5.7はまだmysql_native_passwordだった。
これが8になると罠になるんだよなぁw
あとはお約束の
mysql_secure_installation
から必要情報を入力していく。
DBユーザのパスワードを強烈なヤツにしたので後でWordPressの設定ファイルを変えなくては。
強烈すぎて覚えていられないというw
/etc/my.cnf
への追記はいつも通り(?)これだけにした。
character-set-server=utf8
データ戻し&設定修正
あとはcreate database
でDBのガワを作って、バックアップしてあるダンプを流し込む。
特に問題なし。
Blogの方はDBに接続する際のパスワードを変更したので、wp-config.php
の
パスワードが記入されている所を修正。
Nextcloudの方はパスワードを変更しなかったのでそのまま。
確認
Blog、Nextcloudはブラウザでアクセスして確認。
特に問題もなく動いた。
Blogの方のパスワードに別のパスワードを書いていたためにアクセスできなくて焦ったけどw
これにて終了!(・∀・)