首页 >数据库 >mysql教程 >为什么 LOAD DATA INFILE 失败并显示 MySQL 错误代码 13?

为什么 LOAD DATA INFILE 失败并显示 MySQL 错误代码 13?

Susan Sarandon
Susan Sarandon原创
2024-11-06 05:52:03721浏览

Why Does LOAD DATA INFILE Fail with MySQL Error Code 13?

排查 MySQL 错误代码 13:LOAD DATA INFILE 问题

数据库管理员在执行 LOAD DATA INFILE 语句时可能会遇到 MySQL 错误代码 13。当 MySQL 无法访问指定文件时,通常会发生此错误。

问题:
用户尝试使用以下命令将远程文件中的数据加载到表中时报告错误代码 13: LOAD DATA INFILE 查询。数据库用户拥有所有必要的权限,文件和文件夹权限设置为chmod 777(rwxrwxrwx)。

解决方案:
这个问题的解决方案在于Apparmor程序,尤其存在于 Ubuntu 系统中。默认情况下,Apparmor 会阻止 MySQL 访问某些目录中的文件。要使 MySQL 能够从“tmp”目录读取文件,请按照下列步骤操作:

  1. 使用文本编辑器打开 /etc/apparmor.d/usr.sbin.mysqld 文件,例如 sudo vim /etc/apparmor.d/usr.sbin.mysqld。
  2. 将行 /tmp/** rwk 添加到文件中,确保其正确放置在允许的目录部分中。
  3. 重新加载 Apparmor使用命令 sudo /etc/init.d/apparmor reload。

完成这些修改后,MySQL 应该能够成功执行 LOAD DATA INFILE 查询,而不会遇到错误代码 13。

以上是为什么 LOAD DATA INFILE 失败并显示 MySQL 错误代码 13?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn