WordPressのインストールをMySQL8サーバーからMySQL5.7(またはそれ以下)に切り替える場合、ほとんどの場合、 1273 –不明な照合:「utf8mb4_0900_ai_ci」
データベースをインポートしようとしたときにエラーが発生しました。データベースのインポートまたはエクスポートにどのツールを使用しても、このエラーを回避することはできません。
ただし、以前にMySQL 5.7サーバーでブログを実行し、最近MySQL 8に切り替えたが、現在はMySQL 5.7に切り替えている場合は、コアWordPressテーブル(投稿、分類、オプション、コメントなど)とプラグインMySQL 5.7サーバーにインストールした場合でも、「utf8mb4_unicode_520_ci」照合を使用する必要があります。
「utf8mb4_unicode_520_ci」照合を使用するデータベースからすべてのテーブルをインポートできます。したがって、実行する必要があるのは、「utf8mb4_0900_ai_ci」照合を使用するデータベース内のテーブルを見つけて、エクスポートされたデータベースバックアップファイルからそれらを除外することです。
🔎「utf8mb4_0900_ai_ci」照合を使用するテーブルを見つけます
データベースをエクスポートするときにそれらのテーブルを除外できるように、データベース内のどのテーブルが「utf8mb4_0900_ai_ci」照合を使用しているかを見つける必要があります。
サーバーへのSSHアクセスとデータベースアクセスクレデンシャルがある場合 (これはwp-config.phpファイルから完全に取得できます)、次のコマンドを実行して、「utf8mb4_0900_ai_ci」照合を使用してテーブルを簡単に見つけることができます。
mysqlshow -u username -p --status database | grep "utf8mb4_0900_ai_ci"
? 交換してください ユーザー名
と データベース
上記のコマンドでデータベースとユーザー名を使用します。
プロンプトが表示されたら、データベースユーザーのパスワードを入力します パスワードを入力する:
データベースに「utf8mb4_0900_ai_ci」照合を使用したテーブルのリストが表示されます。
「utf8mb4_0900_ai_ci」照合を使用するテーブルは、MySQL 8に切り替えた後にインストールしたプラグインのみである必要があります。テーブルの名前を書き留めて、次にデータベースをエクスポートするときに除外できるようにします。
💡ヒント
サーバーにSSHアクセスしない場合は、コンピューターに.sqlデータベースファイルをダウンロードし、Notepad ++などのテキストエディターで開き、検索機能(Ctrl + F)を使用して、「utf8mb4_0900_ai_ci」を使用するテーブルを見つけます。照合。
「utf8mb4_0900_ai_ci」照合テーブルを除くデータベースをエクスポートします
「utf8mb4_0900_ai_ci」照合を使用してテーブルの名前を取得したので、「utf8mb4_0900_ai_ci」テーブルを含まない新しいデータベースバックアップファイルをエクスポートして、MySQL5.7サーバーで実行されているWordPressインストールにインポートできます。
すでにWP-CLIを使用してWordPressデータベースをエクスポート/インポートしていると仮定して、次のコマンドを実行して、一部のテーブルを除外しながらデータベースをエクスポートします。
wp db export --exclude_tables = table_name、table_name、table_name
? 交換 table_name
上記のコマンドで、「utf8mb4_0900_ai_ci」照合を使用するテーブルの実際の名前を使用します。
それでおしまい。これで、WordPressデータベースをMySQL5.7を実行している新しいサーバーに簡単にインポートできます。
? 重要な注意点
バックアップから除外したデータベーステーブルの場合は、必ず新しいサーバーでデータを手動で再作成してください。これらのテーブルはプラグインのみであるため、これらのプラグインがプラグイン設定でデータをエクスポートする方法を提供しているかどうかを確認するか、古いサーバーでセットアップされたのと同じ方法で新しいサーバーでプラグインを再構成してください。