mysql 恢复数据库 source_mysql source还原数据报错

在使用source命令恢复MySQL数据库时遇到错误,由于字符集问题导致部分数据无法导入,即使调整字符集设置仍无法解决问题。讨论中提到了查看数据库和源文件的字符集设置,并建议在执行source命令前设置`set names gbk`,但该方法并未成功。最终解决方案是通过在导入命令中添加`--default-character-set=gbk`参数,从而成功恢复数据。
摘要由CSDN通过智能技术生成

使用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还原数据报错!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值