it-roy-ru.com

При импорте файла mysqldump ОШИБКА 1064 (42000) рядом с '■ /' в строке 1

Невозможно импортировать файл дампа ниже, созданный mysqldump.exe в командной строке Windows

/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `attachment_types` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `DESCRIPTION` varchar(50) DEFAULT NULL,
  `COMMENTS` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `UK_ATTACHMENT_TYPES___DESCRIPTION` (`DESCRIPTION`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

При импорте файла в командной строке 

mysql --user=root --password=root < mysqldumpfile.sql

Выдает ошибку 

ERROR 1064 (42000) near ' ■/ ' at line 1

Кто-нибудь, пожалуйста, помогите мне.

14
Pavan Kumar N

Наконец-то я получил решение 

Нам нужны два варианта

  • --default-character-set=utf8: это гарантирует, что UTF8 используется для каждого поля
  • --result-file=file.sql: эта опция предотвращает прохождение данных дампа через операционную систему, которая, вероятно, не использует использует UTF8. Вместо этого он передает данные дампа непосредственно в указанный файл

Используя эти новые опции, ваша команда dump будет выглядеть примерно так:

mysqldump -u root -p --default-character-set=utf8 --result-file=database1.backup.sql database1

При импорте вы можете по желанию использовать:

mysql --user=root --password=root --default_character_set utf8 < database1.backup.sql

Источник: http://nathan.rambeck.org/blog/1-preventing-encoding-issues-mysqldump

25
Pavan Kumar N

Кажется, что входной файл (mysqldumpfile.sql) был создан в кодировке UTF-8, поэтому эти первые 3 байта "в строке 1", невидимые для вас в файле .SQL, представляют собой последовательность метка порядка следования байтов (BOM)

Поэтому попробуйте изменить набор символов по умолчанию на UTF-8

mysql --user=root --password=root --default_character_set utf8 < mysqldumpfile.sql
3
valex

Это команда импорта, которая мне нужна в Windows:

mysql --user=root --password=root --default_character_set utf8 database2 < database1.backup.sql

Необходимая база данных для импорта в

1
wired00