仕事と晩飯とその他

日記です。

データベースのバックアップというか引っ越しというか

25日に「注目度を示す表示」と「扱い社別の一覧」を作った。なかなかうまく行ったが、注目度のほうは閾値の設定が甘い。調整したほうが良さそう。

この土日は、「注目度」を定時に書き出す静的なページにも適用するつもりだったが、その前にデータベースの容量を確認したら、500MB超えてる。しょうがないから分割するか、などと準備を始めたら、よく見るとさくらインターネットのDB容量は1.5GBにまで拡大されたらしい。しかし、MySQLのバージョン5.7? デルタのDBは5.5だ。

まずはMySQLのアップデートが先のようだ。でも、どうやって? 調べると、PHPMyAdminにツールが用意してあるそうで、簡単にできるらしい。ということで、新しいDBを準備してシンクロ……と思ったら、うまくいかない。一度エクスポートしてからインポートしてもダメ。単純に容量の問題らしい。gzipで圧縮すると驚くほど減るので試してみたが、それでも16MiBを超えるのが複数。分割してエクスポート→インポートするか、SSHを使うかしかないようだ。

ああ、こんなことならもっと早い段階からSSHを使っておくべきだった。今回を機に使ってみるというのもあるが、とりあえず分割エクスポートで対応することにしよう。

と、その前に。会社のお問い合わせフォームは、お問い合わせ本文にURLが入っていると弾くようにしている。デルタのフォームはそれをしていないせいで迷惑メールがひどい。ので、特定のドメインと出版社名にURLというのを弾くようにした。これでかなり減るが、さて、一般的なドメインの場合はどうするかと思い、この段階でようやく検索。そうか、ワイルドカードか。ていうことは、正規表現でもいいのか。なるほど。

※その後、16時過ぎになってようやく移行を始めたものの、全然うまくいかない。分割して読み込めるファイルサイズにしたsql.gzをインポートしても、なぜか全部のデータがインポートできない。何度も繰り返すうち手順は慣れた。が、うまくいかん。

諦めて検索。PHPMyAdminで正確なレコード数が出てこないっていうのは常識だったのか。そこで完全にはまってた。分割エクスポート→インポートの手順はなんとかなりそう。巨大化してたDBは、試験的に使っていた不要なテーブルを削除することでとりあえず解決したので、DBの引っ越しは来週にする。

朝から着手してたら今頃終わってたかもなあ。ダラダラしていた自分が憎い。
表示速度が遅い気がしてたが、DBの容量だったのかも。不要テーブル削除して軽くしたらサクサク動いてる。MySQL5.5と5.7だとかなり速度も違うらしいので、早く移行すべきであった。
晩飯は雛祭りなんで、ちらしとはまぐりのお吸い物と刺し身。はまぐりのお吸い物が褒められたが、千代の一番が素晴らしいのだ。