Сюрприз от «любимой» компании

Хочу поделиться очередным неприятным «открытием», которое, как водится, было сделано во время выполнения работ по тех. поддержке одного из наших многочисленных клиентов CRM-системы. Операционной системой там выступала MS Windows XP. При попытке настроить банальное автоматическое создание дампов базы через батник, MySQL выдавал странные сообщения об ошибках:

mysqldump: Couldn’t execute ‘show fields from `groups_modules`’: Can’t create/write to file ‘C:\WINDOWS\TEMP\#sql_f68_0.MYD’ (Errcode: 13) (1)

Обсудив проблему с Сергеем Горшковым, его мысль о разрушенной таблице убедила меня в том, что мои подозрения верны.

Попытка «слить» дамп базы при включенной опции innodb_force_recovery = 2 и указанном ключе —force, дала положительный эффект: все данные из таблиц были выгружены, за исключением всех хранимых процедур и триггеров. «Главное — данные, остальное добавим из стандартного дампа», думал я.

После удаления базы путем DROP DATABASE, создания «свежей», заливки дампа БД из поставки дистрибутива и затем поверх данных из дампа БД клиента, проблема не исчезла — сервер так и спотыкался, причем, каждый раз ругаясь на разные таблицы. «Наверное что-то с самим сервером случилось…», размышляя, я вновь посоветовался с Сергеем, и через несколько минут снес весь MySQL, чтобы сделать свежую инсталляцию.

Установив MySQL заново и залив стандартный дамп БД из поставки, я тут же запустил создание дампа… и вновь получил ту же ошибку!

Поиски по просторам Интернета с помощью Google наконец навели меня на путь решения проблемы: всему виной оказался инсталлированный на компьютере бесплатный антивирусный пакет Microsoft Security Essentials! Почему MySQL и антивирус не смогли поделить файловую систему, остается загадкой — решение же проблемы очень простое: открываем в MSE Параметры — Исключенные типы файлов и добавляем туда файлы с расширениями *.MYD и *.MYI. Жмем Сохранить изменения. После этого дамп создается без проблем.

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

2 комментария to “Сюрприз от «любимой» компании”

  1. vkontakte.ru Елена Хохолева:

    Лёня, а где же вердикт: нефиг делать сервер на винде? 😉

  2. Нефиг делать серверы из рабочих машинок хотя бы 🙂

Коментарии