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/mysqldvim /etc/apparmor.d/mysqld
增加
/data/export/** rw,
重新载入配置
/etc/init.d/apparmor reload
再次导出即可。
相关文章推荐
- PL/SQL Developer连接Oracle数据库
- 使用mysqldump备份数据库时报Got error: 2013错误
- MYSQL报错 error: Got a packet bigger than ‘max_allowed_packet’ bytes
- ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables opt
- oracle中的sql%rowcount,sql%found、sql%notfound、sql%rowcount和sql%isopen
- SQL Server 2005登录名,用户名,角色,架构之间的关系
- django 直接执行SQL
- dango mysql 的问题
- mysql状态查看 QPS/TPS/缓存命中率查看
- PL/SQL Developer如何连接64位的Oracle图解
- 错误:‘bOS::SQL::SQLCommand::SQLOperation’既不是类也不是命名空间
- MySQL性能监控指标查询
- (五)PLSQL Developer 配置监听
- MySQL常用维护命令和操作
- Sql Server数据库之通过SqlBulkCopy快速插入大量数据
- MyBatis输出sql需要log4j.properties配置
- MySQL Optimization
- TPC-H数据导入postgresql教程
- Sql发布订阅设置不初始化订阅库架构的设置
- django之异常错误2(Error was: No module named sqlite3.base)