Nastradamus
@Nastradamus

Внезапные ошибки при импорте дампа базы утилитой mysql. Дамп сделан mysqldump?

Всем привет!


Года 3 или 4 скриптом создается дамп базы, а другим скриптом на другой машине этот дамп разворачивается.

Сегодня внезапно увидел ошибку при импорте дампа:

"ERROR 1064 (42000) at line 11926: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the 
right syntax to use near 'SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */' at line 7"



Дамп делается с помощью mysqldump (perl):

# 1-st step: dump only structure into file:
system "mysqldump -h $dbhost $dbname -u$dbuser -p'$dbpass' --no-data --quick --single-transaction >> $homedir/1.sql";

# 2-nd step: dump DB data without CREATE tables, with ignore some tables

system "mysqldump -h $dbhost $dbname -u$dbuser -p'$dbpass' --quick --single-transaction --no-create-info $ignore_tables
>> $homedir/1.sql
";



а import утилитой mysql:
mysql -u$dbuser -p$dbpass -D $database < $dbfile



Версии MySQL сервера везде одинаковые (5.1.54).


Кто знает причины столь загадочного поведения?


Может стоит использовать mysqlimport?


upd. Сделал заново dump и import теми же скриптами — всё заработало нормально. Это что за чертовщина такая? МОжет кто знает природу такого поведения? Гугл чушь порит про phpmyadmin.
  • Вопрос задан
  • 3980 просмотров
Пригласить эксперта
Ответы на вопрос 2
sirko_el
@sirko_el
Похоже что у вас в файле $homedir/1.sql уже было что-то. А этот оператор >> всего лишь дописал в файл запросы дампа. Постарайтесь использовать >, если вам не нужно дописывать
Ответ написан
int22h
@int22h
Т.е. баг был один раз и воспроизвести не получается?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы