「MySQL 5.1」を「MySQL 8.0」にアップしようとして#1062エラーでドハマリしたときの対処法

このブログはWordPressを使って構築しているのですが、最近有料テーマに変えたのもあり、WordPressやPHPを最新バージョンにこまめに更新するようにしていました。一昨日もWordPressがバージョン「6.5」になったので更新しようとしたらエラーが発生しました。

データベースが古いからアップデートできないとのこと。ただデータベースのアップデートは手間取ることが多いから、と更新を避けてきた作業のひとつ。でもWordPressが最新にできないのは困るということで、ロリポップのデータベースを新しいものに移行することに。そして見事にハマってしまいました。

目次

何度やってもphpmyadminで「#1062」エラーになる

先に伝えておきますが、私は簡単なWebの知識はありますが、データベースとかSQLとかはまったくの無知で、他のサイトでマニュアルのように細かく解説してくれているので、それに従って「MySQL 5.1」を「MySQL 8.0」にアップしようとしました。

もうその時点で悪い予感しかしないのですが、まずはロリポップからphpmyadminに入って、ロリポップで管理している4サイト分のデータベース(MySQL 5.1)をエクスポートしました。これは参考にしたサイト通りにやれば難しいことはありません(もちろん事前にバックアプもとっています)。

そして、新しくMySQL 8.0のデータベースも作ります。これも簡単でした。問題はMySQL 5.1でエクスポートしたデータをMySQL 8.0のデータベースにインポートしたときに起こりました。最初にでたエラーは「#1044」で、これは対処方法がいたるところに書かれているので問題なく対応できました。

ただ結果的にこの対応が必要だということが、私に悲劇を呼び寄せることのなるのですが、それはまた後ほど説明します。「#1044」のエラーは参考にしたサイトに書かれているように対処すればOK。でもこれを対処しても新しく「#1062」のエラーが出ます。

困ったことにこのエラーの意味も対処方法もわかりませんでした。何度も条件を変えてエクスポートをやり直したり、1サイトごとにエクスポートしたりしてみましたが、「#1062」エラーになります。さすがに知識ゼロだとどうにもなりません。

▼参考にしたサイト(ありがとうございます)

エクスポートしたデータが文字化けしている

どうにもならないなと困っていたのですが、エクスポートしたデータを見ていると、どうやら文字化けしているように見えます。おそらく「#1044」エラーに対処するときに、エクスポートしたデータを開き、文字化けした状態で保存をしていることが悪さをしているのだろうと推測。

だったらエディターをいろいろ変えてみたり、エクスポートするデータのフォーマットを変えたりしてみたのですが、やはり文字化けは解消せず。でもえらいもので、何度もデータを見ていると、何が文字化けしているのかが見えてきます。

エラーが出ていたのが「wp1_wfblockediplog」で、これをよく見たら「blocked-ip-log」。どうやらブロックしたIPについての何かが書かれているようです。この時点でひらめきました。エクスポートするデータベースから「wp1_wfblockediplog」を外せばいいのではないかと。

おそらくこれはプラグインが作り出したデータベースで、もう使っていないデータベースもしくは、あまり重要ではないデータベース。なので新しいデータベースに移行する必要がありません。だとすれば他の文字化けしている部分のデータベースもエクスポートしなければ「#1062」エラーはでないはずです。

そして結果はまさにその通りで、文字化けしているデータベースをいくつか省いた結果、「MySQL 8.0」のデータベースへの移行に成功。あとはWordPressが読み込むデータベースを指示してあげれば完了。またどこかに罠があるのかと思いましたがそんなことはなく、あっけなく「MySQL 5.1」を「MySQL 8.0」に変更できました。

もちろんWordPressの最新版への更新も成功し、今こうしてブログを書けているわけです。もしかしたらどこかに問題があるかもしれませんが、ぱっと見た感じはまったく問題ありません。それどころかページがサクサク表示されます。移行に際して、サイトごとにデータベースを分けたのが良かったのかもしれません。

「#1062」エラーが出たら対象のデータベースを外す

今回困ったのは、同じような症状で困っている人が1人も見つからなかったという点です。そもそも世の中にMySQLを自分でアップデートしようという人が限られているわけで、しかもおそらくMacでエクスポートしたデータを開いたことがトラブルの原因だと考えられます。

Windowsを使っている人ならこのような問題は起きておらず、しかも「#1044」エラーが出ているからその修正のためにエクスポートしたデータを開いて書き換えなくてはいけないことが、問題を引き起こしています。さらに結果的にはプラグインが悪さをしていたわけで、該当したプラグインを使ってないと同じことは起きません。

そして何よりもMySQLは難易度が高すぎて、Webの専門知識がないと太刀打ちできそうにない気がして、ほとんどの人が古いデータベースをそのまま使い続けているのだと思います。思い切ってアップデートしようとしてもインポートを失敗してつまづき、そのまま放置している人もいるはずです。

だから、そんな人の役に立つといいなと思って今回、専門知識ゼロでありながら、自分の実体験をまとめておきました。phpmyadminでインポートするときに「#1062」エラーがでたら、取るべき対処方法は下記2つのいずれかになります。

  • Windows パソコンで作業をする
  • エラーを吐き出すデータベースをエクスポートするときに外す

できれば作業はWindowsパソコンで行うのがおすすめで、そうすればそもそも文字化けが起きません。それでもインポートで「#1062」エラーが出るなら、そのデータベースは省いて移行するようにしてください。エラーを吐き出すデータベースはWordPressに直接影響のないデータベースなので、なくても困ることはありません。

もっともそれでもサイトが壊れてしまう可能性もありますので、バックアップをとっておくようにしてくださいね。いずれにしてもなんとか乗り切れて助かりました。あとはせっかくデータベースを移行して、サクサクに動くようになったので検索順位が少しでも上がってくれるのを願っています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次