サーバー移行に良く起るエラー「phpmyadminのバージョン互換性について」
{ この記事の目次 }
プログラミング業務において、必ず互換性があります。
使用しているレンタルサーバーも違えば、サーバーの環境などが当然違います。
サイトを完成させたけれど、本番環境へ移行する際、クライアントサーバーでは移行できないことや、使用している環境では動かないこともしばしば。
一番プログラミングで大変かつ腹が立つ作業は、デバック(エラー処理)です。
当然、人が作るわけですから、エラーの原因もバラバラで対処もバラバラです。
その中でも、あるある良くあるエラーについてご紹介しています。
sqlのエラー文を自力で解決する
あるあるエラーで良くあるのが、文字コードによるエラー。
テスト環境から本番環境へ移行の際に、良くあるエラーを紹介します。
企業サイトのリニューアルなどしていると、自分のテスト環境とクライアントのサーバーが違うことが良くあります。
良くあるサーバ移行時のsqlエラーの一つとして、「Unknown collation: ‘utf8mb4_unicode_520_ci’」というメッセージ内容のエラーが起こることがあります。
このエラーの内容と原因
なぜこのエラーが起きるのかというと、これは仮想サーバーのデータベースのバージョンが低い場合に出る事があります。
「Unknown collation」とは、不明な照合・・その物がないと言っています。
もう少し噛み砕くと、「utf8mb4_unicode_520_ci」という collation は「 MySQL5.6以上」 でしか使えない仕様になっています。
sqlのエラーを解決する方法
プログラミングにおいて、必ずバックアップをとる習慣をつけましょう。
安易に変更などすると、壊れて修復できなくなります。
なので、先にローカルに保管をしてから行ってください。
splからインポートしたデーターをatomなどのエディタで開き以下を書き換えてください。
①Ctrl+Fで「utf8mb4_unicode_520_ci」を探し、「utf8_general_ci」に一括置換します。
②Ctrl+Fで「utf8mb4」と書かれた部分を探し、全て「utf8」に置き換える。
phpmyadminにログインして、書き直したsqlをインポートすると正常に入ります。