admin管理员组

文章数量:1640615

问题描述

参考官方文档从服务器本地文件导入数据到表中时执行语句报错,参考文档:https://dev.mysql/doc/refman/8.0/en/loading-tables.html

执行错误信息反馈如下:

ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides

问题原因

MySQL 默认关闭了本地数据加载功能

解决方法

开启本地数据加载功能,参考文档:
https://dev.mysql/doc/refman/8.0/en/load-data-local-security.html

服务器端:

先连接 MySQL 服务:

mysql -u root -p

查看全局系统变量:

show global variables like 'local_infile';

然后开启本地数据加载功能

set global local_infile=ON;

客户端:

连接服务时指定开启或关闭本地数据加载功能,如果关闭则需要通过 --load-data-local-dir 指定本地数据加载目录

mysql --local-infile=0 --load-data-local-dir=/my/local/data


当然你直接设置 local-infile 为 1 ,这样就不用设置文件夹限制了

如果启用了数据加载,则默认情况下在 MySQL 客户端库中或通过指定 --local-infile[=1],将忽略 --load-data-local-dir 选项。

如果禁用了数据加载,则默认情况下在 MySQL 客户端库中或通过指定 --local-infile=0,则应用 --load-data-local-dir 选项

本文标签: loadingErrorLocalenabledCLIENT