使用mysqldump备份一张表,表里大约有85k的数据;
用source还原的时候,有3条数据报错,导致丢了10k的数据;
打开备份的文件,整个文件大约是由20条insert语句构成;
每次都是第2条,第4条,第10条insert语句的第一个value出错;
将出错的数据删除再备份,还原,还是一样的地方出错;
将insert语句复制后放入navicat里可以正常运行;
字符集都是utf8;
不知道怎么解决,有人知道么?
解决方案
10
报什么错?
value出错是字段大小还是类型有错?
20
能把报错的insert语句贴出来看看吗?
另外,在执行source命令是,可以先设置:
setnamesgbk;
10
引用4楼df300000的回复:
Quote: 引用2楼yupeigu的回复:
能把报错的insert语句贴出来看看吗?
另外,在执行source命令是,可以先设置:
setnamesgbk;
setnamesutf8会报错;
刚刚试了下setnamesgbk;同样的错误;
不知道是不是没有全部统一
mysql>SHOWVARIABLESLIKE“character%”;
+–+–+
|Variable_name|Value|
+–+–+
|character_set_client|gbk|
|character_set_connection|gbk|
|character_set_database|utf8|
|character_set_filesystem|binary|
|character_set_results|gbk|
|character_set_server|utf8|
|character_set_system|utf8|
|character_sets_dir|C:\ProgramFiles\MySQL\MySQLServer5.7\share\charsets\|
+–+–+
8rowsinset,1warning(0.00sec)
从报错的信息上来看,应该是字符集的问题。
要不就直接修改一下服务器的f文件里的服务器级别的characterset
10
你把字符集贴出来,还有你的source文件看下内容,里面也有字符集的设置的,你看下
10
基本是字符集的问题。showvariablieslike“%char%”;看看能否统一为utf8
10
ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear“鐢?,””,””,””,”1″,”3″,0,0
“4619830508841X”,”UF/Uploads/Idcard/3844/09050″atli
应该是字符集设置上的问题,
setnames“gbk”后再试。
10
字符集问题
showvariableslike“char%”
setnamesgbk;
20
–default-character-set=gbk,然后就能正确还原了;
那你将数据库的字符集设置为gbk不久可以了?
CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明mysql source还原数据报错!