您的位置:首页 > 数据库 > SQL

mysqldump: Got error: 1: Can't create/write to file '/data/export/test.txt' (Errcode: 13)

2016-04-07 15:22 801 查看

问题

需要将数据已csv格式导出到/data/export/路径下,遇到问题:

mysqldump: Got error: 1: Can’t create/write to file ‘/data/export/test.txt’ (Errcode: 13) when executing ‘SELECT INTO OUTFILE’

分析

环境

OS: Ubuntu 14.04 LTS

MySQL: 5.6.x #datadir=/data/mysql

通过mysqldump -T 导出的数据是两个文件,数据表结构我test.sql,数据文件为test.txt。导出过程中,test.sql创建成功了,但是test.txt文件提示不能写入,实际也没有创建。

于是,检查权限,将/data/export修改为mysql:mysql还是报错。

这是因为ubuntu安全机制的原故。apparmor对于mysqld默认没有配置路径/data/export/的访问权限。这个导出,test.sql是mysqldump来完成的,成功创建,但是,test.txt是通过mysqld的select into outfile来完成,所以因为没有权限,无法创建。

解决方案

修改/etc/apparmor.d/mysqld

vim /etc/apparmor.d/mysqld

增加

/data/export/** rw,

重新载入配置

/etc/init.d/apparmor reload

再次导出即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: