Трабл с дампом БД
Ты уже выяснил, что такое 1064 ошибка или надеешься, что форумчане сделают это за тебя?
1064 MYSQL error:You have an error in your SQL syntaxпроявляется на 650 тысяч какой-то-там строке, редакторов, которые бы смогли выдать мне эту строку из 5-гигового файла, у меня нет
в общем-то, интересует, почему мог получиться битый дамп... выглядит на первый взгляд нормально, но 5 гигов, конечно, просмотреть невозможно
проявляется на 650 тысяч какой-то-там строке, редакторов, которые бы смогли выдать мне эту строку из 5-гигового файла, у меня нетВ UNIX есть утилиты, позволяющие получить данную строку. Если ты не можешь их найти, то в конце концов ты сам можешь написать простую программку для этого.
P.S. Почему блюститель русского языка все предложения начинает с маленькой буквы?
> но 5 гигов, конечно, просмотреть невозможно
Это заблуждение. В Programming был славный тред, где Darkgray нам доказывал преимущества Excel перед простыми утилитами UNIX. И там я и приводили примеры того, где Excel обосрётся, а простые конвейеры справятся. Твой случай - это еще один пример.
Это заблуждение. В Programming был славный тред, где Darkgray нам доказывал преимущества Excel перед простыми утилитами UNIX. И там я и приводили примеры того, где Excel обосрётся, а простые конвейеры справятся. Твой случай - это еще один пример.
В UNIX есть утилиты, позволяющие получить данную строку. Если ты не можешь их найти, то в конце концов ты сам можешь написать простую программку для этого.Сегодня мне почему-то хочется тебе помочь. Вот два примера (XXX - номер строки):
awk '{ if (NR == XXX) print $0 }' < mysql.dump
nl -n ln XXX | egrep '^26\ '
Выбирай какой больше нравится.
Excel обосрётся, а простые конвейеры справятся. Твой случайТакие случаи наиболее характерны для UNIX-like систем и программ.
tail +XXX | head -1


> tail +XXX | head -1
tailу придётся считать весь файл, это отстой. Возможно head XXX | tail -1 будет лучше.
tailу придётся считать весь файл, это отстой. Возможно head XXX | tail -1 будет лучше.
спасибо, конечно, но весь трабл в том, что я под виндой 
Локально пытался на пхп выдернуть при помощи
но не то... при разных значениях "4096" выдает разные строки, хотя везде этот пример приведен именно как построчное чтение строк из файла

Локально пытался на пхп выдернуть при помощи
<?php
$handle = fopen ("database.sql", "r");
$i=0;
while ($i<650587) {
$buffer = fgets($handle, 4096);
$i++;
}
echo $buffer;
fclose ($handle);
?>
но не то... при разных значениях "4096" выдает разные строки, хотя везде этот пример приведен именно как построчное чтение строк из файла
давай мыло, пришлю тебе tail и head, вещь
> tailу придётся считать весь файл, это отстой
да ну, его прибьёт SIGPIPE
да ну, его прибьёт SIGPIPE
> > tailу придётся считать весь файл, это отстой
> да ну, его прибьёт SIGPIPE
Каким образом tail узнаёт что данная строка является n-нной от конца файла?
> да ну, его прибьёт SIGPIPE
Каким образом tail узнаёт что данная строка является n-нной от конца файла?
rodiontsev.ru
только вот что с ним делать:)
только вот что с ним делать:)
не от конца, а от начала
но похоже, это фича GNU tail
но похоже, это фича GNU tail
компилятор C есть?
Блин, ну и глючит меня - всё нормально.
Надо идти в л&c, думать сегодня противопоказано
#include <stdio.h>
///////////////
// Правильная строка запроса - command_name file_name line_number
int main(int n_sw,char *msw[])
{
int a,b,c,nn;
FILE *ff;
if( n_sw<3 || sscanf(msw[2],"%d",&nn)==0 )
{
printf("Error command line\r\n");
return -1;
}
ff = fopen(msw[1],"rb");
if(!ff)
{
printf("Can't open file %s for reading!\r\n",msw[1]);
return -2;
}
for(c=fgetc(ffa=0; c!=-1; c=fgetc(ff
{
if(a==(nn-1
if(c!='\n')
printf("%c"char) c);
else
break;
if(c=='\n')
a++;
}
if(a<(nn-1
printf("Sorry, line not found!\r\n");
fclose(ff);
return 0;
}
Конечно, лучше прямее написать, но лень...
Блин, ну и глючит меня - всё нормально.
Надо идти в л&c, думать сегодня противопоказано

не... нету 
хотя щас поищу...

хотя щас поищу...
Ну как что, запускаешь и смотришь строку с нужным тебе номером большого файла, можешь даже несколько строк, можешь даже с номерами, ищешь ошибку. Наиболее общий вариант использования мне видится таким
$cat -n filename | head -LastLineNumber | tail -LinesNumber
P.S. Могу ещё прислать компилятор
$cat -n filename | head -LastLineNumber | tail -LinesNumber
P.S. Могу ещё прислать компилятор

есть шикарные грепы под виндой
Интересно, сколько раз должен человек должен повторить, что сидит под виндой, чтобы ему перестали такие варианты предлагать? 

Но если вариант очень хороший?
Интересно, сколько раз должен человек должен повторить, что сидит под виндой, чтобы ему перестали такие варианты предлагать?Сервер MySQL у него тоже под виндой?
локально - да, в чем проблема?
MySQL вполне сносно живёт на 9x, PostgreSQL - на NT/XP...
Может и не лучший вариант, но тем не менее...
Может и не лучший вариант, но тем не менее...
Каким образом tail узнаёт что данная строка является n-нной от конца файла?Например, запустит "wc -l "
кстати, то, что ты прислал, не пашет, ибо не найден cygintl-3.dll
эх-х-х... апнем.
Вопрос: в mysql название базы может содержать дефис?
Затыкается на
Вопрос: в mysql название базы может содержать дефис?
Затыкается на
CREATE DATABASE /*!32312 IF NOT EXISTS*/ mnogosearch-db;
в обратных кавычках напиши
о как... а я-то думаю - зачем опция в экспорте про кавычки
жжошнах!
Оставить комментарий
uncle17
есть два дампа - PG и MySQLпри заливке MySQL выдает 1064 ошибку где-то на 10 процентах, PG сам не смотрел, но админы говорят, что тоже не льется. С чем может быть связано вообще и есть ли шанс восстановить?
а то жалко - MySQL на 5 гигов и PG на гиг...