【鯖】DBのバージョンアップ

やらないとなぁ とずっと思っていたWeb鯖のDB(MySQL)のバージョンアップ。

 

5.7だったしw

 

 

 

 

っつーわけで、5.7から一気に8まで上げてやろうと。

 

仮想環境でリハーサルはしてあるので、手順もある。

DBは消えなくてそのまま使えて、リカバリとかも無く楽勝だった。

 

 

・・・が、やっぱり問題発生(お約束

 

 

仮想環境でやった通りに、古いの消す→新しいの入れる→諸々(再)起動でOKかと思いきや

Nextcloudのメンテナンスモードを終了するときにエラーが大量に出た。

そしてBlogを見ようとしてもエラーになる。

 

ひとまず原因究明するために

mysql -u root -p

とrootでDBに繋ごうとしてエラー。

パスワード無しでもダメ。

 

DBの実データが保存されている/var/lib/mysql/を見ると、俺関連の物が綺麗サッパリなくなってる。

全部初期化されたか。

 

じゃ、rootのパスワードって何だよ。入れんぞ。ほぼ詰んでるぞ。

 

ググってみると、ログの中に初期パスワードが書かれているらしい。

というわけで、

view /var/log/mysqld.log

で、ログファイルを開いて「password is generated」で検索を掛けると

6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: g(Jd6dxSdItO

みたいな感じで吐かれていた。

 

そのパスワードで入って、

ALTER USER 'root'@'localhost' identified BY 'HOGEhoge1234';

すぐ変更。

 

show databases;

で何も無いのを確認できたので、必要なDBを作成。

create database HogeDB;

 

続いて接続するためのユーザを作成する。

create user 'HogeUser' identified by 'HogePassword';

 

続いて権限を付与。

grant all privilegeson HogeDB.* to HogeUser@localhost;

が、エラー。

ERROR 1410 (42000): You are not allowed to create a user with GRANT

いやいやいやいや。rootだよ?

 

ググって原因を探っていると、構文が古いことが判明。

それならもっと別のエラーメッセージにしてくれたら良いのに。

 

grant all privileges on HogeDB.* TO 'HogeUser'@'%' with grant option;

 

必要なDB/ユーザ分繰り返す。

 

flush privileges;

を忘れずに。

 

これでユーザができたので、最初に取っておいたバックアップから戻す作業に入る。

手順を端折らずエクスポートをしていた俺GJ。

 

データ量の多い日記(ここ)のインポートにやたらと時間がかかって不安になったけど

全部問題無く入った。

 

 

予定より2時間ぐらい余計に掛かったけど無事完了。

理屈上では速度アップしているはずだけど・・・あんまわからんなw

 

カテゴリー: PC, ソフトウェア, 技術的 タグ: , ,  [パーマリンク]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です