1 (изменено: Анастасия Елесеева, 2012-11-26 00:57:11)

Тема: phpMyAdmin не выводит табличек БД

Ребята, будьте добры, помогите разобраться: Велась разработка на WampServer, примерно возле 40 проектов на Joomla с использованием CCK Zoo...
Позавчера с утра сервер напрочь отказался открывать странички localhost, phpMyAdmin ну, и соответственно всех сайтов.
Проблема была с запуском Apache... Вопрос с Apache решен, - но перед тем мне пришлось несколько раз переустановить сам WampServer,
В результате - удалены записи с админки phpMyAdmin, но по пути ..\bin\mysql\mysql5.5.16\data остались папочки с одноименными названиями созданных ранее БД (db_site) с файлами в форматах .frm и .MYI
В попытке восстановления таблиц БД использую следующий алгоритм:

1. В папку www вновь установленного сервера скидываю сохраненную папку Site.ru

2. В ..\bin\mysql\mysql5.5.16\data скидываю папочку (БД) db_site

Но, в скидываемой мной папке 144 таблицы, В админке phpMyAdmin выводиться только 21 (ни одной от CMS - в основном Zoo и иных CCK).., БД некоторых сайтов выводят только по 2 записи (таблицы)... в то время как чистая Joomla создает 61...

В обозревателе "Table 'db_site _session' doesn't exist SQL=INSERT INTO `_session...

Подскажите пожалуста, как это может быть: в папке с файлами есть все таблицы, а в админке phpMyAdmin они не выводяться ?... С чем это может быть связано? И гипотетически, возможно ли восстановление даные из бинарных логов (mysql-bin."цифры") ? Весьма признательна за помощь.

2

Re: phpMyAdmin не выводит табличек БД

.frm и .MYI недостаточно, должны быть еще файлы с данными .MYD. Если все три файла таблицы есть, то для каждой таблицы можно запустить запрос восстановления индексов:

CHECK TABLE `table_name`;
-- И если надо.
REPAIR TABLE `table_name`;

Из бинарных логов можно восстановить часть данных подвергшихся изменению, но не все, примерно как нажать undo в обычной программе. Данные и структуры не подвергшиеся изменению восстановлены не будут.

3 (изменено: Анастасия Елесеева, 2012-11-26 13:07:59)

Re: phpMyAdmin не выводит табличек БД

Спасибо большое, Hanut. Действительно  те таблицы, которые имеют три файла .frm, .MYI и .MYD вывелись в phpMyAdmin, остальные - нет.
Если позволите, еще вопрос...

1. Изначально когда сервер перестал отвечать, - все папочки с ...mysql\ data были скопированы и сохранены на другой диск... Если произошло удаление файлов табличек, на каком этапе это могло произойти? Имеет ли смысл их искать?

2. Гипотетически реален ли вариант: установить заново CMS, инсталировать расшерения CCK и импортировать (/ заменить) файлы сохранившимися?

Еще раз спасибо! и извините за беспокойство... просто пытаюсь хоть что-нибудь восстановить.

4

Re: phpMyAdmin не выводит табличек БД

Анастасия Елесеева сказал:

Имеет ли смысл их искать?

Попробуйте использовать программы восстановления, вроде этой: http://undeleteplus.com/

Если вы копировали файлы при запущенном MySQL, то, возможно, скопировались те, что не были используемы программой в данный момент.

Анастасия Елесеева сказал:

Гипотетически реален ли вариант: установить заново CMS, инсталировать расшерения CCK и импортировать (/ заменить) файлы сохранившимися?

Да, если все таблицы восстановлены, то подставьте резервные базы данных к скрипту и все заработает.

5 (изменено: Анастасия Елесеева, 2012-11-26 17:51:54)

Re: phpMyAdmin не выводит табличек БД

Файлы перепроверила еще раз - все на месте... Расширения .frm, .MYI и .MYD по всей видимости, обязательны не для всех файлов таблиц.
К примеру, файл ..._session.frm (Joomla) имеет только одно расширение (frm) - как и на чистоустановленной Joomla

Hanut, последний вопрос и я больше не осмелюсь вас беспокоить:

Админка phpMyAdmin - во вкладке "Структура" - записи по-прежнему не видны... но во вкладке phpMyAdmin "Запрос по шаблону" в окошке "Использовать таблицы" и размещены все те недостающие таблички...  " SHOW TABLES " также их выводит.
Получаеться они все же есть. Возможен ли какой-нибудь сбой в PHP или самой системы? Как вы считаете?

6

Re: phpMyAdmin не выводит табличек БД

Анастасия Елесеева сказал:

К примеру, файл ..._session.frm (Joomla) имеет только одно расширение (frm) - как и на чистоустановленной Joomla

Это значит, что данных в таблице нет. Выше есть запросы позволяющие данную таблицу сделать видимой, если она потерялась при переносе файлов. Как вариант, взять с чистой установки и перенести - иногда это бывает быстрее.

Анастасия Елесеева сказал:

Админка phpMyAdmin - во вкладке "Структура" - записи по-прежнему не видны.

Выше два запроса: CHECK и REPAIR. Повторить на до для каждой таблицы. Если не покажется, то хотя бы приведите ошибку.

7 (изменено: Анастасия Елесеева, 2012-11-26 22:16:59)

Re: phpMyAdmin не выводит табличек БД

взять с чистой установки и перенести

На том же примере файла ..._session.frm.

1. Беру с чистоустановленной CMS  .._session.frm,
2. Копирую в другое место , изменяю префикс на тот, что в востанавливаемых таблицах, rruxn_session.frm
3. Останавливаю сервер
4. Скидываю в папочку с БД / заменяю файл
5. Запускаю сервер
6. Админка phpMyAdmin  - записи ... _session.frm по-прежнему нет. В обозревателе: "Table 'db_site.rruxn_session' doesn't exist"

Выше два запроса: CHECK и REPAIR. Повторить надо для каждой таблицы.

Извиняюсь, что сразу не ответила:
1. db_site - SQL
CHECK TABLE `rruxn_session`;

db_site.rruxn_session     check     Error     Table 'db_site.rruxn_session' doesn't exi...
db_site.rruxn_session     check     status     Operation failed


2. REPAIR TABLE `rruxn_session`;
db_site.rruxn_session     repair     Error     Table 'db_site.rruxn_session' doesn't exi...
db_site.rruxn_session     repair     status     Operation failed

Я уже подумываю на другом сервере (хостинге) попытаться. Ведь так не бывает...
Позавчера да, компютер был перегружен, много программ открыто, вспоминаю еще страничка долго закрывалась... и все - вчера с утра сервер напрочь отказываеться открывать localhost, phpMyAdmin... ввела запрос с консоли - Apache заработал...
Скайпа нет, 80 порт используеться Server: Apache/2.2.21 Win32 PHP 5.3.8, версия сервера таже.
Следуя здравой логике, не каждая ошибка способна испортить все файлы... ну на одном, пяти сайтах... но ведь не на сорока... причем открыт был только один.  Так и из разсудком попрощаться можно - 3 года работы, а оно "Table ... doesn't exist"db_site.rruxn_sessionTable ... doesn

8

Re: phpMyAdmin не выводит табличек БД

Анастасия Елесеева сказал:

Копирую в другое место , изменяю префикс на тот, что в востанавливаемых таблицах, rruxn_session.frm

Если таблица пустая, то в этом нет необходимости, делайте все через экспорт/импорт в phpMyAdmin. Это единственно правильный способ переноса структуры и данных в MySQL.

Если один файл .fm не читает - значит надо переносить вместе с другими файлами, которые с ним генерируются.

Анастасия Елесеева сказал:

db_site.rruxn_session     check     Error     Table 'db_site.rruxn_session' doesn't exi...

Не видит. Версия MySQL та же? Попробуйте не переименовывать файл.

Если не работает Apache, то ищите ошибки в его журналах.