📜  第 1 行的 ERROR 3948 (42000):禁用加载本地数据;这必须在客户端和服务器端都启用 (1)

📅  最后修改于: 2023-12-03 15:27:23.039000             🧑  作者: Mango

介绍

当使用 MySQL 时,有时候需要从本地文件系统加载数据到数据库中。但是,在某些情况下,这个功能可能会被禁用。当出现此错误消息时,这意味着您尝试使用此功能时,MySQL 已禁用该功能。

错误消息如下所示:

ERROR 3948 (42000): LOAD DATA LOCAL is disabled; this must be enabled on both the client and server sides
原因

此问题的原因在于 MySQL 默认情况下禁用了本地文件系统数据加载功能。MySQL 可能会禁用此功能作为安全措施以防止恶意数据加载。

解决方案

如果您确实需要启用此功能,则可以使用以下两种方法之一:

方法一:在 MySQL 配置文件中启用该功能

将以下参数添加到 MySQL 配置文件中:

[mysqld]
local-infile=1

重启 MySQL 服务器,以使更改生效。这将启用 MySQL 服务器上的本地数据加载功能。

方法二:在客户端连接字符串中启用该功能

在连接到 MySQL 数据库时,可以在连接字符串中设置local-infile参数。例如:

mysql -u username -p --local-infile=1 dbname

这将在客户端上启用本地数据加载功能。

注意:如果您选择在客户端上启用此功能,则必须将该功能在 MySQL 服务器上启用。否则,您仍将收到相同的错误消息。

结论

这个错误消息告诉您 MySQL 禁用了本地文件系统数据加载功能。如果您确实需要使用此功能,则可以在 MySQL 配置文件中或客户端连接字符串中启用该功能。请注意,如果您在客户端上启用了该功能,则必须在 MySQL 服务器上启用该功能,否则您将继续收到相同的错误消息。