【发布时间】:2020-12-01 08:13:34
【问题描述】:
评论我正在尝试,
mysql>
LOAD DATA LOCAL INFILE '/var/tmp/countries.csv'
INTO TABLE countries
FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES
TERMINATED BY '\n'
IGNORE 1 LINES
(CountryId,CountryCode,CountryDescription,CountryRegion,LastUpdatedDate,created_by,created_on)
SET created_by = 'DH_INITIAL_LOAD', created_on = current_timestamp();
ERROR 2068 (HY000): LOAD DATA LOCAL INFILE 文件请求因访问限制而被拒绝。`
它工作正常,我为 python 脚本下载了 pymysql 和 mysql 连接器。我卸载并检查了它仍然无法正常工作。 verion 和 infile 为 ON,
select version() -| 8.0.17
mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile | ON |
+---------------+-------+
1 row in set (0.00 sec)
【问题讨论】:
-
请检查文件夹的权限,您也可以尝试将其更新到较新的版本
-
删除
LOCAL关键字 - 你的情况是错误的。然后检查:1)用于启动 MySQL 守护程序的 OS 帐户的访问权限(在文件系统中)2)local_infile系统变量(完成 - ON 是正确的值)3)secure_file_priv系统变量 4)MySQL 的文件权限用于执行查询的帐户。 -
如果我删除 local 关键字,它会抛出一个错误,提示 ERROR 1045 (28000): Access denied for user 'admin'@'%' (using password: YES)
-
显示像“secure_file_priv”这样的变量; - /tmp/ 尝试将文件放在 /tmp 下并检查仍然面临问题。