Восстановление БД из файлов *.myd в данном случае

Asar

Новичок
Восстановление БД из файлов *.myd в данном случае

В распоряжении имеются: набор файлов *.myd, *.myi, *.frm и т.д. незнакомой базы неизвестно кем выгруженной.
Имеется Windows-машинка с установленным на нее Денвером (нету там больше ничего похожего, и ставить не дают).

Вопрос: возможно ли в такой ситуации восстановить БД, чтобы с помощью phpMyAdmin'a, входящего в состав Денвера, местная секретарша могла работать с БД? Чтоб repair table вроде как название этой самой table хотя бы нужно, а таковой информации нету...
 

soft

Новичок
Просто скапируй эти файлы в \usr\local\mysql4\data\название_базы\ и радуйся жизни
 

Asar

Новичок
soft, спасибо!

-~{}~ 29.02.08 14:51:

zerkms, без следующего поста и не дошел бы, куда именно подсовывать )
 

stomp

Новичок
Автор оригинала: soft
Просто скапируй эти файлы в \usr\local\mysql4\data\название_базы\ и радуйся жизни
А в линухе куда копировать? я скопировал в var/lib/mysql, но не работает - пишет, что баз таких нету и восстановить не может.
 

wildarp

Новичок
/var/lib/mysql/название_базы/твои файлы но не факт что заработает
 

Alexandre

PHPПенсионер
Заработало уже давно, спасибо =)
странно..
у меня была аналогичная ситуация, мне приходилось БД ручками прописывать в табл. mysql
под виндой заработало без проблем а на линукс уже устанавливал mysqldump
 

zerkms

TDD infected
Команда форума
Alexandre
хоть одна причина, почему не заработало бы?
или ты с винды на линукс хотел бинарники перенести? (хотя и тут оно почти наверняка должно было подхватиться)
 

Alexandre

PHPПенсионер
хоть одна причина, почему не заработало бы?
причина 1. внутрення организация мускуля основана на методанных, которые расположены в таблицах:
Код:
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| host                      |
| proc                      |
| procs_priv                |
| servers                   |
| tables_priv               |
| user                      |
+---------------------------+
и если физически добавлена БД, не факт что она должна быть видна логически. мне, например, ее пришлось прописывать в таблице user
а еще помимо таблиц в БД есть хранимые процедуры, функции и пр..
которые также должны быть прописаны в метаданных.

Код:
mysql> select db,name from proc;
+------------------+--------------------------------------+
| db               | name                                 |
+------------------+--------------------------------------+
| test             | fn_sweepspaces                       |
| test             | getDownloadData                      |
| test             | inc                                  |
хотя и тут оно почти наверняка должно было подхватиться
10 против 1 что неподхватится, дома попробую
 

Dovg

Продвинутый новичок
Приходилось заниматься подобным "мозгоклюйством", когда домой с работы таскал большие базы, а нормальные дампы делать было лениво.
чтобы все нормально работало делал следующее.
на получателе создавал базу, после этого появлялись записи, о которых говорит Alexandre, каталог в data у mysql, в этом каталоге один файл - db.opt
потом стопил сервер, переписывал в этот каталог то, что унес с донора и снова запускал сервер

В моем случае не работало, если база не была предварительно создана
 

zerkms

TDD infected
Команда форума
причина 1. внутрення организация мускуля основана на методанных, которые расположены в таблицах:
вообще-то база mysql вообще никак не связана с другими базами...

-~{}~ 16.04.08 22:29:

мне, например, ее пришлось прописывать в таблице user
ы? при чём тут права доступа и работоспособность базы вообще?
 

stomp

Новичок
сделал просто:
создал базу, остановил мускл, копирнул таблицы, запустил мусл. Командой show tables проверил их наличие и восстановил, все нормально заработало. Данные таблицы использовались на винде перед этим =)
 
Сверху