dbeaver导入sql脚本报错的排查—— ERROR 1366 (HY000) at line
描述
在使用dbeaver进行sql脚本导入的时候报了以下的错误。
C:\Users\xxxx\AppData\Roaming\DBeaverData\drivers\clients\mysql_8\win\mysql.exe -u root --host=xxxxxxx --port=3306 xxx
任务 'MySQL 脚本' 开始于 Mon Jan 08 23:51:58 CST 2024
ERROR 1366 (HY000) at line 288: Incorrect string value: '\xA2\x9E' for column 'name' at row 1
任务 'MySQL 脚本' 结束于 Mon Jan 08 23:51:59 CST 2024
2024-01-08 23:51:59.224 - IO error: Process failed (exit code = 1). See error log.
2024-01-08 23:51:59.224 - java.io.IOException: Process failed (exit code = 1). See error log.
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.validateErrorCode(AbstractNativeToolHandler.java:263)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.executeProcess(AbstractNativeToolHandler.java:241)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.doExecute(AbstractNativeToolHandler.java:283)
at org.jkiss.dbeaver.ext.mysql.tasks.MySQLNativeToolHandler.doExecute(MySQLNativeToolHandler.java:47)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.lambda$0(AbstractNativeToolHandler.java:87)
at org.jkiss.dbeaver.runtime.RunnableContextDelegate.lambda$0(RunnableContextDelegate.java:39)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
查了下网上以及社区的说法#4686, 大概意思是升级使用的驱动可解决。
排查
我检查了下连接的时候使用的驱动。

我这里一共有三个。
MySQL Binaries
这个是mysql8的驱动,我看到使用的是8.0.19版本的。
C:\Users\用户名\AppData\Roaming\DBeaverData\drivers\clients\mysql_8\win\mysql.exe

MySQL 5 Binaries
这个是mysql5的驱动,我看到使用的是5.5.62版本的。
C:\Users\用户名\AppData\Roaming\DBeaverData\drivers\clients\mysql\win\mysql.exe

E:/mysql
这个是我本地安装mysql带的驱动,版本是8.0.12。这个应该是会找bin下的mysql.exe
E:\mysql\bin\mysql.exe

我尝试改变使用这三种驱动,发现只有我本地安装的8.0.12导入sql脚本的时候是正常的。这就很离谱,因为MySQL Binaries使用的是8.0.19但是报错了。
我又查看了下数据库的编码。
show variables like '%char%';
除了一个character_set_system是utf8mb3外,其他看着没有什么问题。这个utf8mb3是怎么来的我还不太清楚,安装的时候我并未刻意设置。

我的sql脚本是UTF-8编码的,应该也没有问题。
我又试着使用了navicat进行导入sql脚本,也是没问题的,但是navicat在导入的时候可以设置编码。dbeaver上我没有看到有设置编码的地方。


继续寻找答案发现有人说可以在sql脚本的开头设置编码。我试着改了以下sql脚本。
set character set utf8;
CREATE TABLE sys_user
(
id bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
………………
………………
………………
然后尝试使用dbeaver下载的MySQL Binaries驱动进行脚本的执行,这次他成功了!
所以很大概率是dbeaver在执行脚本的时候所使用的编码导致的。
解决方案有三个:
更换dbeaver的驱动。看缘分。
在sql脚本的开头加上编码
SET CHARACTER SET utf8;或SET NAMES utf8mb4;。 一般可行。在dbeaver编辑器里把需要执行的sql脚本拷贝过去执行。 有点蠢。
dbeaver导入sql脚本报错的排查—— ERROR 1366 (HY000) at line的更多相关文章
- DBeaver导入SQL脚本数据
DBeaver导入SQL脚本数据 起因 Navicat Premium还原备份的导致数据库中文乱码 看Navicat Premium中看中文数据,是正常显示了,但是在IEDA查询和Web页面上显示,均 ...
- 【MySQL篇】Navicat导入SQL文件报错终极解决方案
面对大数据库文件(一般50M以上),使用Navicat导入的时候容易出现[ERR]2006等报错问题,此文提供了几种办法,包括修改MySQL的配置参数在网上也有很多详细教程介绍过,但此文精彩处在于前面 ...
- mysql 导入SQL文件报错
----MySQL导入数据的时候,总是报错,本地测试都没办法测试---- 导出SQL文件正常, 在导入SQL文件的时候, 报错-----大部分数据表导入成功, 个别的失败 在网上看到很多建议: 建议别 ...
- 导入sql文件报错:1071 Specified key was too long; max key length is 767 bytes
ref: https://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-7 ...
- mysql小知识点汇总---(时间与时间戳的转换, 修改mysql用户名密码, navicate 导入sql文件报错 1153)
1. 时间与时间戳的转换 1.1 时间戳转时间 FROM_UNIXTIME(add_time, '%Y-%m-%d') 1.2 时间转时间戳 UNIX_TIMESTAMP('2015-04-29') ...
- MySQL导入SQL语句报错 : MySQL server has gone away (已解决)
MySQL server has gone away 解决的方法其实很简单,我相信也有很多人遇到了这个问题.比如DZ论坛,安装好服务器,但是清空缓存等操作数据库的动作,运行时间稍长就会出现 MySQL ...
- dbeaver,执行SQL时,空行导致SQL执行报错" ERROR: syntax error at or near "case"Position: 1"
dbeaver,执行SQL时,空行导致SQL执行报错" ERROR: syntax error at or near "case"Position: 1" 解决 ...
- 在Windows平台下Qt的exe报错问题排查步骤
在Windows平台下Qt的exe报错问题排查步骤 工具介绍: 1. Dependency Worker Dependency Worker是一个免费的用具用来扫描任何的32bit 或者64bit 的 ...
- MySQL 执行SQL脚本 报ERROR 1231 (42000)的解决办法【转】
今天在source mysqldump 备份文件时,发现导入的过程中报如下的错误: ERROR 1231 (42000): Variable 'time_zone' can't be set to t ...
- Sqoop- sqoop将mysql数据表导入到hive报错
sqoop将mysql数据表导入到hive报错 [root@ip---- lib]# sqoop import --connect jdbc:mysql://54.223.175.12:3308/gx ...
随机推荐
- Project Euler 307 题解
主要是规避误差.即求 \[\frac{k^n}{n^k} \] 微分一下得到递推式.然后根据斯特林近似(byd 这里还需要 \(1\) 后的第一项..) ...
- WPF 创建自定义鼠标光标指针
WPF Cursor类中的两个构造函数: public Cursor(Stream cursorStream) public Cursor(string cursorFile) 以上的构造函数所使用的 ...
- 零基础使用AI辅助编写易简历小程序的一些心得体会
春节期间利用了一点时间体验了Copilot开发了一个小程序,先说结论: AI只是AI,并不能取代程序员. 你能做的,AI能做的更快:你不能做的,AI就大概率会糊弄你. 开发小程序的背景就是本身有一个易 ...
- [BZOJ5093] 图的价值 题解
考虑计算一个点的贡献,最后 \(\times n\) 即为所求. 显然一个点的贡献为 \(\sum\limits_{i=0}^{n-1}\binom{n-1}ii^k2^{\frac{(n-1)(n- ...
- (抄自己luogu上的博客)莫队总结
虽然当时文风很2,但是觉得写的蛮好的,就在这里贴一下吧. 最近学了分块(太难想了 \(qwq\) )和莫队(太神奇了 \(0w0\) ),写一个阶段性总结~ 分块 总所周知,分块是一种神奇的暴力,用 ...
- vue - [03] Hello World~
题记部分 (1)选择一个合适的目录,然后进入终端,执行:vue create account-manager (2)切换目录到account-manager,执行npm run serve启动开发服务 ...
- 大数据之路Week10_day07 (JavaAPI 操作Redis 与Hbase建立索引,通过查询redis中的索引查询Hbase数据)
在这里是简单模拟将索引存到redis中,再通过先查询索引再将Hbase中的数据查询出来. 需要考虑的问题: 1.建立redis的连接,建立Hbase的连接 2.如何创建索引,即创建索引的key和val ...
- Golang 入门 : 变量
变量 Go语言是静态强类型语言,所以变量是有明确类型的.变量实质上就是在内存中的一小块空间,用来存储特定类型的可变数据.如果没有变量我们的程序只能将数值写死都是静态的数据,无法更改,变量可以让我们进行 ...
- 搭建自己的OCR服务,第二步:PaddleOCR环境安装
PaddleOCR环境安装,遇到了很多问题,根据系统不同问题也不同,不要盲目看别人的教程,有的教程也过时了,根据实际情况自己调整. 我这边目前是使用windows 10系统+CPU + python ...
- 抓包分析:wireshark抓不到TLS1.3数据包中证书的解决方案
近日工作中遇到需要分析使用TLS1.3协议进行通信的数据包的情况,但使用wireshark进行分析发现不能抓到服务端证书,感到诧异遂设法解决 这篇博客给出解决方案,和简单的原理分析 解决方案: 第一步 ...