Назад | Перейти на главную страницу

Случайно удаленная база данных Mysql, но у меня есть папки базы данных Как мне восстановить базу данных

Я перепутал наш производственный сервер как промежуточный и случайно удалил MySql. У меня все еще нетронутой папка / var / lib / mysql. Мой сервер находится в Ubuntu 16

Это процесс удаления, который я сделал. sudo apt purge mysql*

Как восстановить базу данных. Любезно помочь

Удалите MySQL при постановке. Сначала протестируйте там процедуру.

Сделайте резервную копию данных. Я был бы очень удивлен, если бы установочный скрипт удалял существующие базы данных. Но сделайте копию на всякий случай.

Установите MySQL.


В будущем удалите доступ к производству при работе над тестом. Закройте все сеансы к нему. Возможно, удалите его ключи из ssh-agent.

Раньше я проделывал аналогичную процедуру, чтобы проверить работоспособность восстановленной базы данных MySQL (после восстановления с неисправного диска). Это было в Windows, но должна быть похожая идея. Убедитесь, что у вас есть дополнительная копия папок базы данных на случай, если что-то пойдет не так.

Вам нужно будет установить ту же версию сервера MySQL. Загрузки по версиям здесь - https://downloads.mysql.com/archives/installer/

Я не уверен, что установщик будет делать, если / когда найдет существующие файлы базы данных в выбранном каталоге данных. Но вы можете указать другой каталог данных и завершить установку. Убедитесь, что MySQL работает правильно, и запустите команду типа SHOW DATABASES или что-то в этом роде.

Если у вас есть работающий сервер MySQL, вы можете выполнить замену файлов базы данных.

Я выполнил инструкции в ответе здесь - https://stackoverflow.com/a/12098668/620054

Чтобы поменять местами файлы базы данных -

  • Остановите службу MySQL.
  • Переименуйте все файлы ib * в каталоге данных так, чтобы вначале было «FRESHINSTALL» или что-то подобное.
  • Скопируйте файлы из исходного каталога данных (ibdata1, ib_logfile0, ib_logfile1, ib_buffer_pool, если он существует), а также любые подкаталоги для ваших баз данных (с файлами frm) в каталог данных новой установки. Не копируйте каталоги для системных баз данных mysql и performance_schema. Только копируйте свои базы данных.
  • Проверьте размер вашего файла ib_logfile0. Если он больше, чем по умолчанию (48 МБ для 48 МБ, я думаю), вам нужно будет настроить конфигурацию MySQL, чтобы установить innodb_log_file_size=[actual size of iblogfile0]
  • Запустите MySQL в режиме восстановления с помощью следующей команды: mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server x.x\my.ini" --standalone --console --innodb_force_recovery=6 (при необходимости измените путь к файлу конфигурации)
  • Запустите службу MySQL.
  • Убедитесь, что ваши базы данных отображаются, и выполните несколько тестовых запросов.

Если все работает, вам нужно сделать резервную копию или дамп, чтобы вы могли все удалить, выполнить новую установку и выполнить надлежащее восстановление.