本地MySQL导入CSV文件报OS errno2文件不存在错误如何解决
- 优先排查文件访问权限问题:你当前把CSV存放在个人用户的Downloads目录,MySQL服务默认使用系统级服务账号运行,没有权限访问个人用户私有目录下的文件。你可以在C盘根目录新建
temp文件夹,把not414.csv移动到该目录,右键temp文件夹选择「属性」-「安全」,给Everyone用户授予读取和执行权限,再把导入语句中的文件路径修改为C:/temp/not414.csv重试。 - 确认
LOAD DATA LOCAL相关配置已开启:仅修改导入语句没用,需要同时开启服务端和客户端的对应开关:- 执行命令查看服务端参数状态:
SHOW GLOBAL VARIABLES LIKE 'local_infile'; - 如果返回值为OFF,执行
SET GLOBAL local_infile = 1;开启服务端权限 - 你使用的数据库连接工具需要同步开启本地文件加载权限:如果用命令行连接,启动时要加参数
mysql --local-infile=1 -u 用户名 -p;如果用图形化工具,要在对应连接的设置项里勾选「允许加载本地文件」相关选项。
- 执行命令查看服务端参数状态:
- 确认文件真实名称匹配:Windows系统默认隐藏已知文件扩展名,你的文件实际可能后缀被隐藏,真实名称为
not414.csv.txt,可以在资源管理器的查看选项里关闭「隐藏已知文件类型的扩展名」,确认文件的真实名称和你写在路径里的完全一致。 - 确认
secure_file_priv配置生效:修改my.ini的对应参数后必须重启MySQL服务才能生效,重启后可以执行SHOW VARIABLES LIKE 'secure_file_priv';确认返回值为空,代表配置已正确应用。
内容的提问来源于stack exchange,提问作者jamesnottidge
相关产品推荐
相关产品推荐

