MYSQL 数据恢复

LOAD DATA LOCAL INFILE 命令用于从客户端的本地文件中加载数据到 MySQL 数据库。出于安全考虑,MySQL 默认禁用了这个功能,以防止未经授权的文件访问或文件上传。因此,必须在服务器端客户端都明确启用 LOAD DATA LOCAL 功能。

解决方案:

1. 服务器端启用 LOCAL 选项

在 MySQL 服务器的配置文件 (my.cnfmy.ini) 中,检查并添加以下设置:

 

ini

复制代码

[mysqld] local_infile=1

这将启用服务器端的 LOCAL 文件加载支持。保存文件并重启 MySQL 服务器。

2. 客户端启用 LOCAL 选项

在连接 MySQL 时,需要启用 local_infile 选项,具体方法取决于你使用的客户端工具:

  • 使用命令行客户端: 在运行 mysql 命令时,添加 --local-infile 选项:

     

    bash

    复制代码

    mysql --local-infile=1 -u your_username -p

  • 通过 MySQL Workbench 或其他客户端工具: 如果使用 MySQL Workbench 或其他图形化工具,确保在连接设置中启用 local_infile

3. 检查 local_infile 是否启用

你可以使用以下 SQL 命令检查服务器是否已经启用了 local_infile

 

sql

复制代码

SHOW GLOBAL VARIABLES LIKE 'local_infile';

如果值为 OFF,则说明服务器端尚未启用。

连接数据库前需要设置客户端启用 LOCAL 选项

// 设置 local_infile 选项 int local_infile = 1; mysql_options(mysql, MYSQL_OPT_LOCAL_INFILE, &local_infile);

上一篇:在 Vue 渲染模板时,如何保留模板中的 HTML 注释?


下一篇:AtCoder ABC376A-D题解-比赛链接:ABC