MySQLを5.7に移行した話
さて、いきなりですが、
今回はすごく退屈な裏話。
でも、必要な人には必要だと思うので
(むだ話多めに)書き残しておきます。
*
このホームページを作ったのはもう10年前。
慣れないのに本を片手に、1からHTMLとか
CSSを書いて作った手作りページなので、
至るところががたがたになってきました。
例えば、wordpress(このサイトの母体)の
バージョンが更新されるたびに
書いていたコードが対応しなくなってきて
きっちり並んでいたものがゆがんだり、
謎の画像のリンク切れが発生したり、
データベースがもう古すぎて話にならん、
というエラーが出たり。
どうしようと思うまま月日だけが
すぎていきましたが、Instagramで出会う
方々のちゃんと自分のページを作りこんで
いる様子を横目に見ながら、
やっと向き合う決心がつきまして。
まずはデータベースの移行(倉庫のお引越し)
から始めました。
*
サーバーの契約を更新して
新しいデータベース(新しい倉庫)を
もう一つ用意。
(倉庫をもう一つ用意しなくても、
荷物を全部出したら、一回潰して
また新たに立て直す、という人もいるのですが
荷物を正しく外に出せないと、
二度ともとのサイトに復元することが
できないのでそこは慎重に。)
まずはネットの情報を頼りに数回試して
みました。
ぼくのページはなんだかんだ
容量がすごく重くて1G以上あるんです。
サーバーからデータをダウンロードして
アップロードすると倍かかります。
当時使っていたポケットWi-Fiだと3日で
10G を超えると制限がかかってしまうので
実家に帰ったタイミングでのみ試しました。
が全然うまくいかなくて、
わざわざ実家に帰って試すという
テンションにもなれず、そこから
2年ほど放置。
せっかくサーバー契約を一段階高い金額に
変えたのに、意味ないじゃん、と時折
風の便りのようにおもいだしながら
人知れず日々を過ごしていました。
*
今年に入ってから引っ越しをして
家具やパソコンもリニューアルしたのを
きっかけにWi-Fiも無制限にして、
ようやくいつでもデータベース移行チャレンジが
できる!という状況に。
腰を据えてやってみると、
データベースのなかにも引っ越しに必要な
ものは特定の名前がついているものだけで
済むようで(ぼくの場合は接頭語が「wp6」)
すると、データ容量がなんと300MB程度で済む
ということがわかりました。
詳しいやり方は、
「ロリポップ・データベース(MySQL5.7)
バージョンアップデートの手順」とかで
検索するといろいろ出てくると思うので
割愛しますが、
問題は、手順通りにやってもエラーになる
というところ。
ここでは、ネットには書いていなかった
ぼくなりのエラーの対処法を書いてみます。
まず、古いMySQL(倉庫)にログインして
必要な要素をダウンロードして、
あたらしい倉庫へアップロードすると
1044というエラーが出ます。
#1044 – Access denied for user ‘[user_name]’ to database ‘[db_name]’.
ネットによると、「こうなると
ダウンロードした荷物の内容を
すこし書き換えないといけません」と。
荷物のデータはsqlという初耳なデータ形式
なので、A5:SQL Mk-2という無料アプリを
入れてそのアプリでデータを開きます。
最初の方の記述に、こういうのがあります。
*
Database: 「古いDB名」
CREATE DATABASE ××× DEFAULT CHARACTER SET utf8 ××× COLLATE ××××××;
USE 「古いDB名」;
*
ネットには、
「古いDB名」を「新しいDB名」に書き換えた
うえ、下の2行を消してしまえば問題ない
と書いてあったので、そのように変更して
別名で保存して、再度アップロード。
するとこんどは、
1046というエラーがでました。
#1046 – No database selected
ここからはネットに書いてある対処法だけでは
解決できなくなってしまった。。
苦し紛れに試してみるしかない。
エラーで表示された英語を雰囲気で解釈すると
USE ●●;の●●が書かれていません、みたいな
ことだと思ったので、消していた
USE 「新しいDB名」;
だけを復活させて、アップロード。
するとようやく成功!
何度試しても赤いエラー画面しか出て
こなかったので、成功画面が信じられなくて
とりあえず目頭をおさえたまま、
天をあおぎました。
*
というわけで、
データベースも新しくなったので、
この流れでがたがたを直していこうと
思います。
作文も書きます。
2022/06/19