惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - abce

Redis 如何通过槽优化分布式系统中的键值存储 Redis 集群架构 Redis 的演进之路:从缓存到 AI 数据库(V1.0至8.4) Redis 缓存过期和删除策略 Redis 的 aof-use-rdb-preamble 及其工作原理 MySQL主从之间具有不同数据类型的列的复制 MySQL 如何存储临时文件 pbm 还原物理备份提示executable file not found in $PATH. stderr MySQL 日志报错:Got packets out of order MySQL 8.0 已废弃的功能 sqlserver 删除job失败 查看 percona server for mongodb 的版本 MySQL 8 的哈希连接 MySQL 8.0 克隆插件及其原理 有效管理 MongoDB 日志和系统资源 MySQL 保留字需要了解的内容 MongoDB 数据碎片处理 MongoDB 8.0 的复制 min_examined_row_limit 对慢查询日志的影响
理解mysql中的 local_infile 变量
abce · 2025-11-10 · via 博客园 - abce

2025-11-10 13:40  abce  阅读(212)  评论()    收藏  举报

local_infile 变量决定了数据库服务器是否能够读取并导入客户端本地文件系统中的文件。启用该变量后,开发人员和数据库管理员即可使用load data local infile命令——这是高效导入数据的关键功能。

当 local_infile 变量设置为on时,客户端可指示mysql服务器读取位于客户端机器本地文件系统中的文件。本地文件访问的支持对于批量数据上传等任务至关重要,尤其在将大型数据集从csv或文本文件传输至mysql表时。

语法通常如下所示:

load data local infile 'path/to/file.csv' into table table_name;

load data local infile 采用批量处理数据的方式,相较于逐行插入方法显著提升了数据导入性能,因此成为开发者青睐的选择。 local 关键字直接关联 ‘local_infile’ 变量。

启用 local_infile 的典型应用场景

1.批量数据上传:快速将本地文件系统中的海量数据集导入mysql表。

2.数据迁移:将数据从本地环境迁移至生产服务器,或在不同数据库间迁移。

3.备份恢复:导入备份文件实现快速数据恢复。

启用 local_infile

1. 在 my.cnf 中配置

要全局启用 local_infile ,可编辑 mysql 配置文件:

[mysqld]
local_infile=1

修改后请重启 mysql 服务器使变更生效。

2. 使用mysql客户端的命令

也可通过mysql客户端在会话级别启用 local_infile :

set global local_infile = 'on';

此命令可立即启用该变量,无需重启服务器。

启用 local_infile 的安全考量

虽然启用 local_infile 能显著增强数据导入能力,但必须充分考虑相关安全风险。若管理不当,允许本地文件访问可能使数据库暴露于安全漏洞之中。

启用 local_infile 功能时,用户可能无意中导入恶意文件或未经授权访问客户端机器上存储的敏感数据。此风险凸显了实施充分安全措施的重要性。

安全配置建议

1.仅向需要使用 local_infile 功能的可信用户授予访问权限。

2.定期审核文件权限,确保敏感文件不被暴露。

3.实施角色管理机制,将load data local infile相关命令的执行权限限制在特定用户范围内。

local_infile 的性能影响

正确启用并使用 local_infile 变量可显著提升数据导入性能。

使用 local_infile 优化性能的最佳实践

1.数据格式选择:选用csv等高效文件格式以提升解析速度。

2.批量处理:利用批处理功能限制服务器负载。

3.索引管理:数据导入期间临时删除索引可降低开销,导入完成后再执行重建索引。

降低风险的最佳实践建议

1.用户权限与角色管理:创建具有严格定义权限的特定用户角色,用于涉及 local_infile 的操作。

2.限制特定文件访问:配置mysql服务器仅允许从指定目录导入数据,降低导入不良文件的风险。