Задавайте вопросы, мы ответим
Вы не зашли.
Помогите восстановить структуру. От базы остались только файлы *.frm и файл db.opt. Возможно ли восстановить структуру таблиц?
Неактивен
Попробуйте сделать так. Скопируйте .frm -файлы в базу test, затем для каждого frm-файла cоздайте MYI и MYD-файлы, их возьмите из любой пустой таблицы
Скажем у Вас есть users.frm, делаете
Неактивен
Спасибо, но это не помогло, и думаю вот почему:
Оказалось что я использовал таблицы InnoDB. Для них файл с данными MySQL создает в отдельной папке.
Этот файл с данными был потерян, но остались файлы *.frm/
Что ещё можно сделать?
Неактивен
А что вообще говорится в ответ на следующие запросы?
USE имя_бд
SHOW TABLES
SHOW CREATE TABLE какая_нибудь_таблица
?
Попробуйте
mysqldump имя_базы --no-data > имя_файла.sql
(хотя не факт, что поможет; никогда не пробовал)
Неактивен
mysql> use timeismoney
Database changed
mysql> SHOW TABLES;
+-----------------------+
| Tables_in_timeismoney |
+-----------------------+
| acct |
| adminsystem |
| archive |
| calculation |
| communication |
| comuser |
| custom |
| history |
| serv |
| servuser |
| timing |
| usersystem |
+-----------------------+
12 rows in set (0.22 sec)
mysql> SHOW CREATE TABLE timing;
ERROR 1146 (42S02): Table 'timeismoney.timing' doesn't exist
mysql> exit
Bye
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump timeismoney --no-data > 12.sql
mysqldump: Got error: 1146: Table 'timeismoney.acct' doesn't exist when using
LOCK TABLES
Неактивен
Вот нашёл описание формата файла *.frm
http://forge.mysql.com/wiki/MySQL_Inter … le_Formats
Попробую что-нибудь из этого извлечь.
Неактивен
Можно попробовать в frm-файле заменить InnoDB на MyISAM hex-редактором и затем попробовать то, что я описал выше. Кроме того, можно попробовать создать InnoDB-таблицу с тем же именем, а затем заменить frm-файл на существующий.
Неактивен
Всё это не сработало, новая таблица не заменилась старой.
Неактивен
voodoo1 написал:
Всё это не сработало, новая таблица не заменилась старой.
После замены frm-файла необходимо перезапустить mysql сервер, так как файлы кэшируются. Лучше всего остановить mysql, заменить файл и запустить mysql
Неактивен
результат такой же
Неактивен
выложите на форум один из frm-файлов, если это не тайна
Неактивен
а как это сделать?
Неактивен
В полной форме ответа на форуме (ссылка "Ответить") существует возможность прикрепить файл.
Неактивен
frm-файл
Неактивен
файл не прикрепился, попробуйте еще раз, если не получится, отправьте по email на sakila собака sqlinfo.ru
Неактивен
Вот структура Вашей таблицы
Неактивен
Да действительно, получилось.
Видимо я посмотрел не ту базу.
Премного благодарен!
Неактивен