【问题标题】:How to enable the MySQL connection string "ENABLE_LOCAL_INFILE" when using Flyway in a gradle project?在 gradle 项目中使用 Flyway 时如何启用 MySQL 连接字符串“ENABLE_LOCAL_INFILE”?
【发布时间】:2021-09-06 10:18:15
【问题描述】:

我的 Java gradle 项目中有几个 .txt 文件,我使用这些文件在 sql 脚本中使用 MySQL 语句 LOAD DATA LOCAL INFILE 填充数据库。

我的PC上运行着一台MySQL服务器,其主机名为127.0.0.1,端口为3306,数据库名称为test,所以在gradle项目的build.gradle文件中,我通过以下方式配置flyway:

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

我想我已经在 server 端启用了它,如下所示,这是一个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 连接字符串?

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

【问题讨论】:

    标签: java mysql gradle flyway


    【解决方案1】:

    【讨论】:

      猜你喜欢
      • 2013-02-22
      • 1970-01-01
      • 2020-11-23
      • 2010-09-14
      • 2015-08-19
      • 2013-07-29
      • 2021-04-21
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多