在 gradle 项目中使用 Flyway 时如何启用 MySQL 连接字符串 "ENABLE_LOCAL_INFILE"?

How to enable the MySQL connection string "ENABLE_LOCAL_INFILE" when using Flyway in a gradle project?

我的 Java gradle 项目中有几个 .txt 文件,我用它来使用 MySQL 语句 LOAD DATA LOCAL INFILEsql 脚本。

我的 PC 上有一个 MySQL 服务器 运行,其主机名是 127.0.0.1,端口是 3306,数据库名称是 test,所以在 gradle 项目的 build.gradle 文件中,我按以下方式配置飞行路线:

flyway {
    url = 'jdbc:mysql://127.0.0.1:3306/test'
    user = 'root'
    password = '111111'
}

一个示例 .sql 文件是

LOAD DATA LOCAL INFILE 'data/categories.txt' INTO TABLE category
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n';

但是当 运行 使用 gradle flywayMigrate -i 迁移时,我收到以下错误: Loading local data is disabled; this must be enabled on both the client and server sides

我想我已经在服务器端启用了它,如下图,这是一个MySQL Command Line Client截图。 希望我做对了。

在这一步之后,错误仍然出现,所以我想我还需要在 client 端启用它,它在 Java gradle 项目,对吗? 基于https://dev.mysql.com/doc/refman/8.0/en/load-data-local-security.html,我应该设置ENABLE_LOCAL_INFILE = 1.

但是怎么做呢?我应该在哪里添加这个 ENABLE_LOCAL_INFILE = 1 连接字符串?

希望有人能帮助我。 提前致谢!

使用JDBC连接字符串属性allowLoadLocalInfile=true

https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-connp-props-security.html#cj-conn-prop_allowLoadLocalInfile