繁体   English   中英

在第 1 行的“■/”附近导入 mysqldump 文件时出现 ERROR 1064 (42000)

[英]While importing mysqldump file ERROR 1064 (42000) near ' ■/ ' at line 1

无法在 Windows 的命令行中导入由 mysqldump.exe 创建的以下转储文件

/*!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

有人请帮助我。

最后我得到了一个解决方案

我们需要两个选择

  • --default-character-set=utf8 :这确保每个字段都使用 UTF8
  • --result-file=file.sql :此选项可防止转储数据通过可能不使用 UTF8 的操作系统。 相反,它将转储数据直接传递到指定的文件。

使用这些新选项,您的转储命令将如下所示:

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

似乎输入文件 (mysqldumpfile.sql) 是用UTF-8编码创建的,所以在 .SQL 文件中你看不到的前 3 个字节“在第 1 行”是字节顺序标记 (BOM) 序列

所以尝试将默认字符集更改为 UTF-8

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

如果您需要导入数据库,这是 Windows 上所需的导入命令:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM