Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Помогите восстановить базу
цитата
21/10/08 в 09:00
 Alexandur
Люди добрыя, поможите, кто чем сможет.

Сделал бэкап mysql-базы, попробовал восстановить - получилась какая-то лажа.
Проблема в том, что структура бэкапа и структура базы, в которую вставляю записи, малость отличаются.
Где-то "лишние" поля, где-то не хватает (хотя это не критично)

Подскажите как сие решить?

Всем благодарность и благословение на 3 поколения.
цитата
21/10/08 в 09:18
 Corex
Вариант 1 - написать/заказать скрипт, в котором можно будет указать соответствия полей в базе и дампе.

Вариант 2 - перегнать дамп в csv и потом восстановить его в базу при помощи какой-нить утилиты, которая имеет работать с csv > db/sql. В таких утилитах всегда (из того что использовал), можно указать какое поле из файла csv в какое поле таблицы будет вставлено.
цитата
21/10/08 в 09:28
 Alexandur
Уточню: соответствия не нужны, "лишние" пусть обрезаются, а отсутствующие выставятся по умолчанию.

Надо, чтобы mysql не ругался на "лишние" поля и игнорировал их.

Оба варианта предполагают ручную работу, а очень не хочется icon_smile.gif
цитата
21/10/08 в 09:35
 Mst
тогда все оч просто
дропай текущую базу и заливай дамп новой базы)
цитата
21/10/08 в 10:17
 Corex
Во втором варианте ручной работы на 5-6 минут, конвертнуть в csv и потом, при импорте в базу, 1 раз указать соответствия полей - что куда вставлять, что не вставлять, а дальше софт сам всё сделает.
цитата
21/10/08 в 10:32
 Alexs
1)в мускуле гдето есть лог в который он пишет все транзакции
можно понему попытаца востоновить

2)
опеши как ты делал дамп есле скансоли то какими ключами
и как ты заливал его обратно

3) версию мускля ксажи

просто ты мог с ключаи намудрить

4)спроси у хостера мож он бекапы делает есле ты конечно не надедике сидиш

Последний раз редактировалось: Alexs (21/10/08 в 10:35), всего редактировалось 1 раз
цитата
21/10/08 в 10:34
 Alexandur
Mst писал:
тогда все оч просто
дропай текущую базу и заливай дамп новой базы)

Если бы, mysql ругается unknown column ...

Corex: в базе 64 таблицы, руками замучаюсь. Хотя видимо, придётся icon_sad.gif Был бы оператор типа IGNORE ...
цитата
21/10/08 в 10:37
 Alexs
только не дропай а создай другую и наней тренируйся а то потом осенит как востоновить а там уже все затерто
цитата
21/10/08 в 10:38
 Alexandur
Alexs:
лог без надобности, я в коде вижу, что разные поля. Дамп делался скриптом, заливается через phpmyadmin, но это не принципиально. Версии и ключи тоже не при чём.

У меня был вариант: вручную поудалять лишние поля через пхпмайадмин, но это долго.
цитата
21/10/08 в 12:02
 TRUE_AND_FALSE
А каким именно скриптом делался дамп?
цитата
21/10/08 в 12:20
 _s_[sov]
phpMyAdmin там есть такая возможность.
цитата
21/10/08 в 12:36
 Alexandur
TRUE_AND_FALSE писал:
А каким именно скриптом делался дамп?

SimpleMachinesForum, только это ни на что не влияет.

_s_[sov]: ни вижу такой возможности ... Вторые сутки уже ковыряю его.
цитата
21/10/08 в 13:19
 TRUE_AND_FALSE
_s_[sov] писал:
phpMyAdmin там есть такая возможность.


Возможность сделать дамп или убрать не нужные поля?
цитата
21/10/08 в 13:24
 AlexU
_s_[sov]: ни вижу такой возможности ... Вторые сутки уже ковыряю его.[/quote]
Посмотри какая версия phpMyAdmin.
Видимо старая.
В phpMyAdmin - 2.10.1 есть экспорт.
Суппорт хоста может думаю обновить, у меня обновил по запросу.
цитата
21/10/08 в 13:43
 Alexandur
TRUE_AND_FALSE писал:
Возможность сделать дамп или убрать не нужные поля?

AlexU: убрать ненужные - возможности нет. Версия 3.0.0

В целом - всем спасибо. Форум восстановил по древнерусской традиции (немного через жопу)
цитата
21/10/08 в 16:21
 Stek
Бакап mysql лучше всего делать примерно так
Цитата:

$backupFile = PATH.'/files/'.DB_NAME . date("Y-m-d-H-i-s") . '.sql';
$command = $path."mysqldump --opt -h ".DB_HOST." -u ".DB_USER." -p".DB_PASS." ".DB_NAME." > $backupFile 2>&1";
exec($command, $output);
foreach ($output as $key => $value) {
print $value .'<br />';
}
цитата
21/10/08 в 18:24
 _s_[sov]
Я имел ввиду сделать дамп. По поводу полей я не знаю, никогда не заморачивался. Если не нужно было что-то импортировать в последующем я обычно скрипт писал и грохал им что не нужно...


Эта страница в полной версии