Задавайте вопросы, мы ответим
Вы не зашли.
вообщем комп с базой данных mySQL был внезапно отключен от элетричества. После включения оказалось, что база данных как бы обнулилась, т.е. в ней исчезло всё - базы данных, юзеры, почему-то только один юзер остался - root без пароля, хотя у меня он был с паролем. Сохранились файлы в папке data, но при подключение через этого рута, никаких баз не видать, только есть information_shema.
И вот возникла необходимость получить те данные, которые были в базах. А как это сделать? Не получается! Файлы из папки data я не смог расшифровать, они на новой базе на другом компе появляются всмысле таблиц, а когда их пытаешься просмотреть, то облом - error.
Как восстановить данные?
Неактивен
Какой движок, MyISAM или Innodb?
Если MyISAM, то имеет смысл скопировать в другой каталог и выполнить myisamchk над MYI файлами.
Странно, что mysql не видит таблиц, что выдает
mysql> show variables like 'datadir';
Неактивен
MyIsam
я не умею выполнять myisamchk над MYI файлами. Раскажите попробробнее как это делается. myisamchk - это программа или запрос к базе? Как прописать путь до моего файла в этой программе или запросе?
> show variables like 'datadir';
пока не могу выполнить этот запрос. База на работе, а файлы тут, я из них пытаюсь выудить хотя бы часть информации.
но не получается, у меня тут версия mySQL пишет, что другая, хотя вроде бы таже версия...
возможно этот root без пароля не имеет доступа к тем базам, вот они у него и не отображаются, хотя были права у рута, но у того рута был пароль.
И еще создавать базы не получается. Вообщем mysql полностью вышел из строя после выключения энергии и все данные теперь не могу восстановить.
Вот такая беда...
Неактивен
myisamchk утилита командной строки (не знаю есть ли в винде),
в SQL-консоли Вы можете сделать REPAIR TABLE имя_таблицы
Вам нужно только быть уверенным, что MySQL дома выше версией, чем на работе (но не используйте 5.1 дома, если на работе 5.0, 5.1 - еще не стабильна).
root без пароля это значит, что mysql смотрит на другой каталог - не на тот, в котором реальная база, а на тот, где вновь созданная чистая база. Я очень сомневаюсь, что потеряны все данные, в случае MyISAM редко обновляемые таблицы должны сохраниться полностью.
Неактивен
поставил базу данных 5.0 и данные частично восстановились, но русские буквы превратились все в кривульки какие-то... примерно вот такие...
äàëè öåíû Âàðê, ïî çàïðîñó íà 2 êâàðòàë. Ñêàçàë ÷òî ñêîðî (10-12 äíåé)áóäåò íîâàÿ çàÿâêà, ïî êîòîðîé ìîæíî ðåàëüíî ñðàáîòàòü
А при экспорте в дамп кривульки меняютя на новый еще более кривые:
ÊîììåГòà ðèé','','Çà êëþ÷¸à äîãîâîð ïîñòГ
Как превратить кривульки в русский текст? Нет ли какой-нибудь проги превращения кривулек в русский текст?
Неактивен
Вижу 3 возможности:
1. на сервере MySQL < 4.1
2. они и были кривульками на сервере, Вы этого не замечали (то есть скрипт их ивлекал таким образом, что они отображались правильно)
3. они и сейчас нормальные (то есть Вы некорректно обращаетесь кли ентом)
Рекомендации Вам:
А. ознакомьтесь со статьей http://sqlinfo.ru/articles/info/5.html в которой описано как поступить в ситуациях 1,2. Как поступить в ситуации 3 описано в статье http://sqlinfo.ru/articles/info/2.html
Б. скорее всего Ваши данные в основном не повредились, на работе Вам надо просто запустить mysql с правильной конфигурацией (datadir), восстановление Вам требуется скорее всего именно из-за повышения версии
Неактивен