如何在 MacOS 上将 CSV 文件上传到 Mysql?

问题描述

我正在使用以下代码行:

LOAD DATA LOCAL INFILE 'CA_DRU_proj_2010-2060.csv'
INTO TABLE pop_proj
FIELDS TERMINATED BY ','
ENCLOSED BY ' " '
LINES TERMINATED BY ' \n '
IGNORE 1 LINES;

我收到的错误是:

错误代码:1148。此 MySQL 版本不允许使用的命令

我的mysql版本是8.0.16版

解决方法

您需要服务器和客户端才能启用本地文件导入。

服务器需要启用 local_infile=1。您可以将它放在您的 my.cnf 选项文件中,或者您可以使用 SET GLOBAL local_infile=1;

在正在运行的服务器上动态启用它

您还需要告诉客户端允许它。通过启动客户端来执行此操作:

mysql --local-infile=1 ...

从 MySQL 8.0.19 开始,错误信息更加清晰:

ERROR 3950 (42000):加载本地数据被禁用;这一定是 在客户端和服务器端启用

另见:


更新:如果您使用 MySQL Workbench 而不是 mysql 命令行客户端,则可以在连接配置文件的“高级”选项卡上的选项中启用 local-infile。请参阅下面突出显示的行:

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...