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

7 篇文章 0 订阅
6 篇文章 0 订阅

问题

需要将数据已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来完成,所以因为没有权限,无法创建。

解决方案

  1. 修改/etc/apparmor.d/mysqld
    vim /etc/apparmor.d/mysqld

  2. 增加
    /data/export/** rw,

  3. 重新载入配置
    /etc/init.d/apparmor reload

  4. 再次导出即可。


Wait for your reward

这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值