升级到MySQL8。从服务器收到字段“ 255”的未知字符集索引。例外

时间:2018-07-23 12:59:10

标签: mysql mysql-connector

mysql5数据库已用于 latin1 latin1_general_ci 字符编码设置,所有表也都使用了此字符集。

迁移到mysql8(从mysql5-to-mysql8创建并还原转储)后,错误:从服务器接收到字段'255'的未知字符集索引。在与数据库的连接时发生。 / p>

为什么会发生这种情况?,我想这可能与mysql8默认使用 utf8mb4 字符集编码的事实有关。

但是 utf8mb4 编码比 latin1 宽,因此必须支持从latin1( 1Byte )到utf8mb4( > 4Bytes ),反之亦然。

将数据库的字符集更改为 latin1 ,并将排序规则更改为 latin1_swedish_ci 不会生效。

有一些mysql8参数:

  

类似于“ char%”的显示变量;

character_set_client    utf8
character_set_connection    utf8
character_set_database  utf8mb4
character_set_filesystem    binary
character_set_results   utf8
character_set_server    utf8mb4
character_set_system    utf8
character_sets_dir  C:\Program Files\MySQL\MySQL Server 8.0\share\charsets\

MySql8连接器驱动程序为:

mysql-connector-java v. 3.1.14

1 个答案:

答案 0 :(得分:0)

此问题的唯一解决方案是 从以下网站下载最新版本的连接器。 https://dev.mysql.com/downloads/connector/j/

当您使用Windows时,有一个选择操作系统的选项,然后选择平台独立选项,然后出现一个下载选项...下载zip文件并将其解压缩。然后转到您的项目并添加此jar文件放入库中。这样就可以解决您的所有问题。 希望此解决方案为您服务...