Восстановление из бэкапа

Статус
Закрыто для дальнейших ответов.

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
Нужно восстановить 1 базу данных (вес примерно 400 МБ). В ней около 50 таблиц.
Бекап был сделан с косяками (значение по умолчанию в базе забэкапилось в хрен пойми какой кодировке - квакозябрики).
Соответственно таблицы не создаются и бэкап не восстанавливается.
Уважаемый Банру давал ссылку на какой-то php-скрипт для импорта. Не помогает. Из-за этой кодировки.
Вот запрос с косяком к восстановление базы: (из бекапа)


CREATE TABLE `account` (
`id_account` int(11) NOT NULL,
`account` varchar(20) NOT NULL,
`activated` varchar(60) NOT NULL,
`support` varchar(5) NOT NULL DEFAULT 'Выкл',
PRIMARY KEY (`id_account`),
KEY `account` (`account`)
);
Код ошибки:

#1067 - Invalid default value for 'support'
Обратите внимание на строку `support` varchar(5) NOT NULL DEFAULT 'Выкл', - вот тут баг с кодировкой. И так с каждой таблицей эти квакозябрики.
Файл таким весом у меня открывается нотепадом (хотел удалить эти значения по умолчанию вообще нах), но не сохраняет. Тупо зависает, когда жму сохранить.
Что посоветуете? Больше бекапов нет..
 

AngelGabriel

И имя мне - легион
Регистрация
23.11.2008
Сообщения
778
там варчар 5, маловато будет наверно для таких кракозябр, попробуй навикэт поставить и там поиграться с кодировками при ресторе.
 

CamaroSS

Well-Known Member
Регистрация
21.02.2012
Сообщения
176
Один sql-файл и всё? Я привык делать sql и txt для каждой таблицы. А так - смена клиентской кодировки на utf8 перед исполнением должна помочь. При условии, что кодировка базы по умолчанию тоже utf-8, всё должно пройти нормально.
Ага, и дефолтное значение "Выкл". Мне страшно думать, что там дальше.
 

FiRеFоX

V.I.P.
Регистрация
07.08.2010
Сообщения
744
Долго я ковырялся, но вобщем кое-как с горем по полам восстановил.. Написал скрипт, который разобьет это sql файл на файлы меньшего размера, потом вручную поправил эти баги с кодировками и склеел на пыхе в один файлик, затем восстановил..
 

mrlasking

$_GET['rich'] or die('trying');
Регистрация
22.05.2012
Сообщения
323
[member=FiRеFоX], плюсанул за старательность и солдатскую смекалку :)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ