Illegal mix of collations
WordPress のデータベースエラー「Illegal mix of collations」:原因と確認方法
# ログによく記録される内容
WordPress database error Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_unicode_520_ci,IMPLICIT) for operation '='
一つのクエリで照合順序の異なるテキスト列を比較・結合すると、MySQL や MariaDB はこのエラーを返します。たとえば utf8mb4_unicode_ci と utf8mb4_unicode_520_ci です。WordPress では、移転や一部だけのインポートの後、一部のテーブルがほかとは異なるデフォルトで作られたときによく起こります。
どの状況に当てはまりますか?
クエリが、別の照合順序で作られたテーブルを結合しています。
新しいサーバーで作られたテーブルはそのデフォルトの照合順序を使い、インポートしたテーブルは古いものを残しています。
プラグインが作ったテーブルの照合順序が、結合する WordPress のテーブルと異なります。
主な原因
テーブルの照合順序の混在:一部のテーブルや列は一つの照合順序を、ほかは別の照合順序を使っています。
サーバーのデフォルトの違い:旧と新のデータベースサーバーでデフォルトの照合順序が異なります。
一部だけのインポート:一部のテーブルだけをエクスポートしてインポートし直しました。
プラグインのテーブル:プラグインが WordPress の照合順序に合わせずにテーブルを作りました。
参考資料
- Migrating WordPress (Advanced Administration Handbook)
- Debugging in WordPress (Advanced Administration Handbook)
自分で作業したくない方は、WP119 の全自動復旧にお任せください
テーブル照合順序の混乱は自動処理の対象です。互換性のない照合順序を変換し、テーブル名をレポートに記載します。復旧は復旧ステーション上のサイトの複製で行い、再検証に合格してから書き戻します。サイトのデータベースのうち、保護対象テーブル(会員・コメント・注文・フォーム送信)は構造のみ取得します。SSH/FTP モードでは、書き戻しの前にお客様のホストに復旧前バックアップを作成し、書き戻し後の検証に合格しなかった場合はそのバックアップから復元します。復旧を完了できなかった場合、復旧料は全額返金します。
- 初期診断:サイトの URL を入力
- 復旧ステーションに複製:複製上で作業
- 原因の特定:項目ごとの確認
- 復旧と再検証:トップページと内部ページ
- 書き戻しまたは納品:再検証に合格した場合のみ
移転やインポートの後、このデータベースエラーでページや検索が失敗する場合は、WP119 にお任せいただけます。
サイトを初期診断する →