Как восстановить базу данных MySQL по окнам после отказавшего обновления окон

У меня есть система, которую я разработал в Spring Java, и это хранит данные на базе данных MySQL, выполненной локально на окнах 10.

Вчера, я выполнил последнее обновление окон, и после того, как 2 часа шлифования моего компьютера, разрушенного... и с тех пор, окна не хотят запускаться и дают мне опцию переустановить окна с возможностью сохранить мои персональные данные. Однако я думаю, что это сотрет MySQL и все данные, которые хранятся.

У меня есть Linux, работающий на той же машине, и таким образом, я пытаюсь использовать Linux для доступа к базе данных для поддержки его использующий mysqldump.

Чтобы сделать это, я попытался смонтировать каталог, где данные сохраняются на окнах к каталогу Linux с помощью следующей команды:

sudo mount --bind '/media/guillaume/Windows/ProgramData/MySQL/MySQL Server 5.7/Data' /var/lib/mysql

Я затем перезапустил mysql сервер, и я открыл консоль SQL. Я мог войти в систему Консоли SQL с помощью пароля Windows (это отличается от пароля SQL на Linux), и я мог перечислить все базы данных, экономил на моей машине окон.

Это, когда это становится более сложным. Консоль SQL может перечислить все таблицы в базе данных, которой я интересуюсь, но по некоторым причинам, она не может запросить содержание таблиц. Я могу перечислить все таблицы, но я не могу запросить таблицы. SQL говорит мне, что такая таблица не существует, даже при том, что это только что перечислило его.

У меня есть снимок экрана этого, нет никакой опечатки, но сайт не позволяет мне отправить изображение...

Как я могу решить этот вопрос? Или есть ли более умный способ создать дамп из местоположения окон, даже при том, что окна не запускаются?

Спасибо за Вашу справку!

0
задан 5 June 2018 в 12:57

1 ответ

Причина, что это не работало, состоит в том, что я переименовал базу данных в окнах как "database_W" для дифференциации его от другой базы данных в Linux, который имел то же имя и что я восстановился со спины, что я сделал 2 недели назад.

Я скопировал файл окон ProgramData во внешний диск, таким образом, я скопировал, которые создают резервную копию базы данных в мою целевую папку, и затем консоль SQL, а также мой IDE видела эту исходную базу данных, все ее таблицы и все данные. Я использовал свой IDE для создания файла резервной копии (дамп).

Как Rinzwind, на который указывают, очень важно создать резервную копию данных регулярно, особенно перед обновлениями окон... взятый урок!

Таким образом, то, что я сделал для восстановления данных, было:

  1. Используйте Linux, чтобы получить доступ к данным окон и создать резервную копию всех Ваших данных
  2. Для восстановления данных SQL Вы интересуетесь следующим местоположением: '/media/guillaume/Windows/ProgramData/MySQL/MySQL Server 5.7/Data'. НЕ МЕНЯЙТЕ ИМЯ ТАМ!
  3. Используйте следующую команду для монтирования файла окон ProgramData к соответствующему каталогу Linux: sudo mount --bind '/media/guillaume/Windows/ProgramData/MySQL/MySQL Server 5.7/Data' /var/lib/mysql
  4. Перезапустите свой sql сервис (я использовал эту команду: сервис mysql перезапуск)
  5. Сверьтесь со своей консолью SQL в терминале Linux, что Вы видите базы данных окон из Linux и что можно получить доступ к данным (использующий выбор * от типа таблицы оператора);
  6. Используйте свой IDE для соединения с этой базой данных (использующий учетные данные окон) для создания файла дампа из IDE.
1
ответ дан 29 October 2019 в 04:31

Другие вопросы по тегам:

Похожие вопросы: