无法通过 sh 文件在 db 上加载本地 infile

Can't load local infile on db by sh file

提问人:user3513782 提问时间:3/21/2023 最后编辑:user3513782 更新时间:3/21/2023 访问量:22

问:

我正在尝试将 csv 文件上传到数据库表。当我通过mysql服务器手动执行此操作时,一切正常!

USE db_name;TRUNCATE table_name;LOAD DATA LOCAL INFILE '/path_to_file.csv' INTO TABLE table_name FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;

我想通过设置 cron 作业来自动执行此过程。

我创建了一个这样的.sh文件(实际上与上面的代码相同):

#!/bin/bash

mysql --user=user_name --password=pass --database=db_name --execute=
"
set global local_infile=true;
USE db_name;
LOAD DATA LOCAL INFILE '/path_to_file.csv' INTO TABLE table_name 
FIELDS TERMINATED BY ';' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' 
IGNORE 1 ROWS;
"

但是当我运行它时,出现以下错误:

第 1 行出现错误 2068 (HY000):由于访问限制,加载数据本地 INFILE 文件请求被拒绝。

Mysql变量local_infile在mysql服务器上是ON的,我再次设置了ON命令(以防万一),但我仍然收到错误消息。with set global local_infile=true;

我能做些什么?

mysql 数据文件

评论


答: 暂无答案