首页 >数据库 >mysql教程 >如何使用 SELECT INTO OUTFILE 修复 MySQL Errcode 13(权限错误)?

如何使用 SELECT INTO OUTFILE 修复 MySQL Errcode 13(权限错误)?

Linda Hamilton
Linda Hamilton原创
2025-01-24 14:52:10729浏览

How to Fix MySQL Errcode 13 (Permissions Error) with SELECT INTO OUTFILE?

解决MySQL Errcode 13权限错误和SELECT INTO OUTFILE语句

问题:

当尝试使用SELECT INTO OUTFILE将表数据导出到服务器默认目录之外的CSV文件时,即使调整了权限和所有权,仍然会遇到Errcode 13(权限错误)。这在Ubuntu系统上,尤其是在运行AppArmor的系统上经常出现。

解决方案:

1. 检查AppArmor状态:

执行sudo aa-status命令来验证mysqld是否处于强制模式。如果它出现在列表中,AppArmor很可能阻止写入操作。

2. 编辑AppArmor配置文件:

打开/etc/apparmor.d/usr.sbin.mysqld文件,并在文件底部添加所需的目录路径,确保具有读/写权限。例如:

<code>/usr/sbin/mysqld {
    ...
    **/data/ r,
    /data/* rw,**
}</code>

3. 重新加载AppArmor配置文件:

执行sudo /etc/init.d/apparmor reload命令来应用更改。

4. 重新尝试查询:

重新加载AppArmor配置文件后,再次尝试SELECT INTO OUTFILE查询。MySQL现在应该能够写入到目标目录。

警告:

注意将MySQL写入权限授予其默认位置之外的目录的安全性隐患。确保已采取适当措施来保护敏感数据。

以上是如何使用 SELECT INTO OUTFILE 修复 MySQL Errcode 13(权限错误)?的详细内容。更多信息请关注PHP中文网其他相关文章!

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