@sllrod

Удаление БД как папок из mariadb?

Добрый день!

Создавали тестовый сервер какое-то время назад из бекапа прода, и похоже что базы данных MariaDB удалили просто как папки из /var/lib/mysql . Какое-то время всё работало, но на днях после очередного запуска тестового сервера обнаружили, что mariadb не запускается. При просмотре лога оказалось, что mariadb внезапно "вспомнила" про все удаленные ранее папки баз данных, и теперь в логе огромная пачка сообщений наподобие:

2022-04-08 11:01:38 139848043374784 [ERROR] InnoDB: Operating system error number 2 in a file operation.
2022-04-08 11:01:38 139848043374784 [ERROR] InnoDB: The error means the system cannot find the path specified.
2022-04-08 11:01:38 139848043374784 [ERROR] InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them.
2022-04-08 11:01:38 139848043374784 [ERROR] InnoDB: Cannot open datafile for read-only: './dbname/tablename.ibd' OS error: 71


При гуглении я внезапно столкнулся с тем, что все всегда пытаются восстановить базы данных при подобных ошибках, а мне наоборот, необходимо избавиться от них. И вроде бы сервер тестовый, и можно перезалить, но там есть одна база данных со специфическими тестовыми данными, которую не хотелось бы терять...

Как заставить mariadb навсегда "забыть" про базы, папки которых были удалены?
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
  1. На проблемном сервере:
    • Создать папки баз.
    • Запустить сервер в режиме восстановления (InnoDB Recovery Modes).
    • Дропнуть базы.

  2. Если не удаётся запуститься даже в режиме восстановления:
    • Восстановить БД из бэкапа на другом инстансе сервера
    • Скопировать каталоги баз на проблемный сервер
    • См. п. 1.

Ответ написан
Комментировать
Ваш ответ на вопрос

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

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