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