如何在不重新启动服务器的情况下强制MySQL使用JDBC连接器使用utf8mb4?

时间:2017-07-19 07:45:40

标签: java mysql tomcat jdbc

我目前的配置如下:

MySQL服务器版本:5.7.18

操作系统:Ubuntu 14.04

JDBC Connector:5.1.42

问题:我无法在my.cnf中使用配置文件,因为它需要重启服务器。由于我使用的是MySQL 5.7版,它支持utf8mb4,我已经更新到5.xx系列的最新连接器。 我尝试使用文档here中给出的init_connect,使用以下命令并使用没有超级用户权限的mysql用户:

SET GLOBAL init_connect="SET NAMES 'utf8mb4';SET character_set_server='utf8mb4';";

并按如下方式设置连接URL:

jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci

我还尝试将会话变量添加到URL中,如下所示,但它不起作用。

sessionVariables=character_set_server=utf8mb4,character_set_client=utf8mb4,character_set_connection=utf8mb4,character_set_results=utf8mb4

任何人都可以帮助如何计算连接设置以允许使用utf8mb4进行存储吗?

P.S:Utf-8工作正常,但不适用于utf8mb4,因此无法插入表情符号。

0 个答案:

没有答案