Instagramにてライフワークであるイラストを公開中.

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名」;
だけを復活させて、アップロード。

するとようやく成功!

何度試しても赤いエラー画面しか出て
こなかったので、成功画面が信じられなくて
とりあえず目頭をおさえたまま、
天をあおぎました。

というわけで、
データベースも新しくなったので、
この流れでがたがたを直していこうと
思います。

作文も書きます。

« »

サイト管理