Усі бази даних MySQL втратили за ніч


15

Після дзвінка клієнта сказати, що його веб-сайт знищений, я виявив, що MySQL на нашому сервері RackSpace Cloud Windows 2008 не працює. Я перезапустив MySQL, але отримав помилку "Доступ заборонено для користувача" у веб-переглядачі для всіх веб-сайтів із базою даних MySQL. Коли я дивлюся на MySql Server 5.5 / дані, немає інших папок, крім mysql та performance_schema. З'являється, всі бази даних та дані були стерті. Хтось знає, що могло статися і куди поділися дані? На додаток, що я тільки що знайшов цей сервер відсутній у нашій службі резервного копіювання.

Здається, що PS після оновлення Windows о 4:01 цього ранку.


Чи є відповідні записи у вашій системі та журналах MySQL?
користувач9517

1
"На додаток, що я щойно знайшов цей сервер відсутній у нашій службі резервного копіювання." Ой.
Том О'Коннор

файл журналу починається о 09:00 сьогодні вранці, коли я запустив MySQL: InnoDB: файл журналу. \ ib_logfile0 не існувало: створено нове InnoDB: Встановлення файлу журналу. \ ib_logfile0 розміром до 5 Мб InnoDB: База даних фізично записує файл повний : зачекайте ...
Iain

1
Це більше, ніж останній рів, але, можливо, ви можете спробувати деякі програми для відновлення даних. Однак вам слід вимкнути сервер якнайшвидше та отримати доступ до дисків в автономному режимі.
День

7
Ви впевнені, що шукаєте в потрібному каталозі? Можливо, можна змінити datadirфайли конфігурації без перезавантаження MySQL, і ця проблема з'являється лише після перезавантаження MySQL (можливо, спровокованого оновленням системи).
gertvdijk

Відповіді:


32
  1. Зверніться до служби підтримки Rackspace. Для цього вони і потрібні.
  2. Робіть усе, що вони запропонують.
  3. Якщо це не працює, спробуйте запропонувати Деном програмне забезпечення для відновлення даних.
  4. Використовуйте це як можливість для зростання та навчання.

Завжди слідкуйте за тим, щоб всі ваші сервери були резервними, і регулярно перевіряйте їх. Немає сенсу мати службу резервного копіювання, якщо ви ніколи не перевіряєте, що можете відновити з неї.

О, і вимкніть автоматичне оновлення. Робіть їх лише після того, як ви перевірили вплив оновлення, бажано на іншому однаково налаштованому сервері.


6
+1 Це дійсно має бути канонічною відповіддю на запитання, як відновити дані, які не створювали резервні копії.
dunxd

2
Дякую за допомогу, хлопці. gertvdijk поставив мене в правильні рядки, як знайшов папки даних, також під Файлами програм / MySQL, а також ProgramData / MySQL та відновив із комбінації папок даних та файлу ibdata1 після перевстановлення MySQL. Що стосується причини первісної проблеми, яка спричинила корупцію та завадила запустити MySQL, то єдина підказка, яку я маю - це оновлення Windows о 4 ранку сьогодні, але не можу сказати, що це було точно. Виділив цей сервер, пропущений із програми резервного копіювання, і це було б проблемою, чи не так.
Iain

1
Слід розглянути можливість зміни налаштувань сервера таким чином, щоб оновлення системи не встановлювалися автоматично та без нагляду, якщо ви не контролюєте, якими саме оновленнями встановлено оновлення. Що робити, якщо оновлення змінює поведінку системи таким чином, щоб зламати веб-сайти ваших клієнтів?
CVn

5
Це прикордонний flamebait, але розглянути можливість переміщення ваших баз даних mysql на сервер Linux. Їх автоматичні оновлення безпеки ніколи не перезапускають сервер, і кожен великий постачальник дистрибутива перевірятиме сумісність оновлень з базовою програмою, на зразок mysql (З іншого боку, ні Microsoft, ні Oracle не перевірятимуть mysql на оновлення Windows). Резервне копіювання, мабуть, трохи простіше та надійніше, ніж більшість програмного забезпечення для резервного копіювання Windows.
Брайан Уотерс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.