@sevnet
Системный аналитик, бизнес-консультант

Как восстановить базу sql из файлов /var/lib/mysql/* на другом сервере mysql?

Задача сделать копию битой БД mysql.
При попытки создать mysqldump база выдаёт ошибку:
Illegal mix of collations (utf8_unicode_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'locate'

Для создания копии этой базы, был остановлен сервер mysql и база была выкачана просто в виде папки с файлами таблиц из директивы /var/lib/mysql/
Теперь вопрос, как из файлов "холодного резерва" создать sql-файл или как эту базу развернуть на другом сервере mysql?

выкачать битую
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 3
@Drno
Нужно сделать нормальный дамп.
Либо как сказали в коментах придется вручную вначале создавать все таблицы
Ответ написан
Комментировать
kotomyava
@kotomyava
Системный администратор
Вам нужно установить mysql такой же или выше версии на другом сервере, перенести файлы, удостовериться, что права выставлены правильно и запустить mysql.
Но это вряд-ли поможет вам "починить" базу. И скопируется не только одна база, но и все базы и пользователи.
Ну и снять дамп, точно также, не получится, как на исходном сервере.

Вам на самом деле, надо посмотреть где беда с collations и исправить её.

upd: На всякий случай: я пишу о копировании всей /var/lib/mysql/, не отдельной папки с базой.
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
При попытки создать mysqldump база выдаёт ошибку:
Illegal mix of collations (utf8_unicode_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'locate'

Скорректируйте @@collation_connection.

Задача сделать копию битой БД mysql ... как из файлов "холодного резерва" создать sql-файл или как эту базу развернуть на другом сервере mysql?

А смысл? если подключить файлы данных в новом местоположении, ошибки никуда не денутся.

А так - создать таблицы в новом местоположении. Структура должна совпадать с точностью до запятых, и версия сервера тоже. Самое разумное - сделать бэкап чисто структуры, без данных, и развернуть. А потом DISCARD/IMPORT TABLESPACE, либо замена файлов при остановленном сервисе и последующий запуск с лечением и перезаписью метаданных и статистики.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы