mysql命令行-大型sql文件-字符串值不正确

mysql命令行-大型sql文件-字符串值不正确,mysql,Mysql,我有一个350 Mb的mysql sql文件,我正试图针对一个我已确认访问的远程mysql实例在本地运行。我的命令是: "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql" -h camp****.com -u cam****aigns --password=Camp****** cam****igns < "E:\mypath\Camp****19-2020.sql" 第9320行(您可以看到特殊

我有一个350 Mb的mysql sql文件,我正试图针对一个我已确认访问的远程mysql实例在本地运行。我的命令是:

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysql" -h camp****.com -u cam****aigns --password=Camp****** cam****igns < "E:\mypath\Camp****19-2020.sql"
第9320行(您可以看到特殊字符):

我看过很多关于更改ini/cnf设置等的堆栈帖子。但是,让这个1 cmd行脚本执行工作的最简单、最直接的方法是什么?是否可以传入命令行参数,可能指定UTF-8或其他内容?

尝试以下操作:

  • 在连接字符串中使用了“CharSet=utf8mb4”。我之前错过了这个。我用的是“utf8”

  • 将数据库的默认字符集、表的默认字符集和所有列的字符集设置为“utf8mb4”

  • 将数据库的默认排序规则、表的默认排序规则和所有列的排序规则设置为“utf8mb4\u unicode\u ci”


阅读更多内容

将此添加到我的sql脚本顶部解决了此问题:

SET NAMES 'utf8';
SET CHARACTER SET utf8;

问题是,转到要插入的文件,转到第9320行,查看要插入的内容,具体反映address1列。字符串中有特殊字符、引号吗?你的insert语句是什么。请编辑您的帖子并将insert语句放入其中。不要添加注释。\n同时将
show create table yourtablename
的输出添加到问题中(对于出现错误的表),您当然不需要更改整个服务器设置来运行脚本。有一个选择。如何??这些可以添加到我的命令行参数中吗?您能举个例子吗?请注意,以这种方式设置编码意味着客户端已经读取了文件并建立了连接。如果默认值与您想要的设置不兼容,那么它可能会起作用,但它可能不如在客户端级别设置值那么健壮。
INSERT INTO `Contacts` VALUES (33413,390,'Jim','Hancock','ý350 E 100 N','','Hampton','UT','84050','2012-06-25 15:11:49');
SET NAMES 'utf8';
SET CHARACTER SET utf8;