Java 如何强制MySQL使用JDBC连接器使用utf8mb4,而不重新启动服务器?

Java 如何强制MySQL使用JDBC连接器使用utf8mb4,而不重新启动服务器?,java,mysql,tomcat,jdbc,Java,Mysql,Tomcat,Jdbc,我目前的配置如下: jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci MySQL服务器版本:5.7.18 操作系统:Ubuntu 14.04 JDBC连接器:5.1.42 问题:我无法使用my.cnf中的配置文件,因为它需要重新

我目前的配置如下:

jdbc:mysql://localhost:3306/xxxx?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&connectionCollation=utf8mb4_unicode_ci
MySQL服务器版本:5.7.18

操作系统:Ubuntu 14.04

JDBC连接器:5.1.42

问题:我无法使用my.cnf中的配置文件,因为它需要重新启动服务器。因为我使用的是MySQL版本5.7,所以它支持utf8mb4,并且我已经更新到版本5.xx系列的最新连接器。 我尝试使用文档中给出的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存储的连接设置吗

注意:Utf-8可以正常工作,但它不能与utf8mb4一起工作,所以不能插入表情符号