web-dev-qa-db-ja.com

既存のサイトから開発用データベースにダンプをインポートしたときに不明な照合順序が発生する

Bluehostでホストされている既存のサイトの既存のデータベースからSQLをエクスポートしました。

問題なく、開発環境にインポートできるようにしたいと思います。私は柔軟性があり、開発環境で使用しているMySQLのバージョンを変更することができます。私の目標は、エクスポートされたSQLコードを開発環境にインポートすることを、これらのすべてのエラーなしでできるだけ簡単にすることです。それは私がこれについて何かできることはありますか?私は次のようになっていきます:

ERROR 1273 (HY000) at line 2071: Unknown collation: 'utf8mb4_unicode_520_ci'

私は現在mysql-serverパッケージの5.5.53-0ubuntu0.14.04.1を使っています、Bluehostは5.3.28を使っていると思います。

これを修正する具体的な方法はありますか?また、そのデータをサイトにインポートし直すとしたら、問題が発生するでしょうか。

1
leeand00

この問題は、サーバがutf8mb4_unicode_520_ci照合タイプをサポートしていないために発生しています。

これを解決するには、すべてのテーブルの照合順序をutf8mb4_unicode_520_ciからutf8_general_ciに変換する必要があります。

phpmyadminでエクスポートしている場合は、次のことができます。

  1. データベースの[エクスポート]タブをクリックします

  2. [カスタム]ラジオボタンをクリックします

  3. 「形式固有のオプション」というタイトルのセクションに移動し、「データベースシステムまたは以前のMySQLサーバーとの互換性を最大にする」のドロップダウンをNONEからMYSQL40に変更します。

  4. 一番下までスクロールして[GO]をクリックします。

OR影響を受ける各テーブルで次のクエリを実行します。

ALTER TABLE myTable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci
1
Tunji