Collation это набор правил, которые описывают как сортировать и сравнивать строковые значения в БД. На разных версиях MySQL сервера этот параметр может отличаться. Поэтому при переносе сайта с одного сервера на другой вы можете получить ошибку:
Unknown collation: 'utf8mb4_0900_ai_ci'
Связано это с тем, что вы пытаетесь восстановить БД сделанную на сервере с более свежей версией MySQL на сервер с версией ниже.
Чтобы избавиться от этой проблемы, вам нужно заменить строки в вашем дампе БД с
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
на
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Сделать это можно автозаменой если открыть дамп БД в текстовом редакторе (например Notepad++) или используя следующую Linux команду:
sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' DATABASE.sql
где DATABASE.sql имя вашего файла.
После этого пробуйте восстановить БД на новом сервере.
Категория