WordPress Webサイトが作成され、MySQLがそのデータベースです。 Linux Command Shellを介して空のデータベースにデータベースをインポートしようとしたとき、以下のエラーが発生しました。
エラー1146(42S02):テーブル 'xx-xxx-xxx-xxx'は存在しません
エラー1273(HY000):不明な照合: 'utf8mb4_unicode_ci'
エラー1115(42000):不明な文字セット: 'utf8mb4'
これらのエラーの考えられる原因は何ですか?それとも私たちは私のWordPressのウェブサイトを復元するための別のステップを試すべきですか?
ソースデータベースのバージョンはmysqlnd 5.0.12、ターゲットデータベースはmySQL 5.1.66です。
元のデータベースからエクスポートする場合、テーブルが存在しない場合はテーブルを作成することを選択する必要があります(最初のエラー)。そのオプションを選択しなかった場合(phpMyAdminに他のデータベースツールではそのオプションが存在するかどうかわからない場合)、インポートファイルは自分用のテーブルを作成できないため、インポートを始める前に作成する必要があります。
2番目と3番目のエラーについては、データベースのバージョンをMySQL 5.5.3以降にアップグレードする必要があります。 WordPressはMySQL 5.0以降で動作しますが、 推奨されるMySQLのバージョンは5.6以降です 。問題は、データベースのバージョンが5.5.3以降の場合、WordPressがutf8mb4を使用するようにデータベースを更新するため、おそらくソースデータベースのバージョンが5.5.3より大きく、デスティネーションデータベースのバージョンが5.5.3よりも小さいことです。
アップグレード先のデータベースバージョンをアップグレードできない場合は、インポートファイルを編集して照合順序utf8_general_ciと文字セットをutf8に変更します。
以下のような行に対応します。
SET character_set_client = utf8mb4 ;
SET character_set_results = utf8mb4 ;
SET collation_connection = utf8mb4_unicode_ci;
そしてそれらを変えなさい。
すべてのutf8mb4_unicode_520_ciをutf8mb4_general_ciに変更
代わりに、サーバをmysqlワークベンチアプリケーションに接続してください。
すべての権限を設定して新しいデータベースを作成します。
作成したDBの照合順序をDBの歯車アイコンをutf8に変更して変更します。
その後インポートします。