Mysql ERROR 1 (HY000): Can't create/write to file

问题起因:使用 MySQL 语句的 INTO OUTFILE时出现。

问题现象:ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)

解决办法:

1,:chmod 1777 ***   【***是要更改权限的文件目录】

     试一下上面的命令时候还是报错。要是还是报错就是说明ubuntu限制了mysql。执行下面2中的配置。

 

 

2,

Which particular version of Ubuntu is this and is this Ubuntu Server Edition?

Recent Ubuntu Server Editions (such as 10.04) ship with AppArmor and MySQL's profile might be in enforcing mode by default. You can check this by executing sudo aa-status like so:

# sudo aa-status 
5 profiles are loaded. 
5 profiles are in enforce mode. 
   /usr/lib/connman/scripts/dhclient-script 
   /sbin/dhclient3 
   /usr/sbin/tcpdump 
   /usr/lib/NetworkManager/nm-dhcp-client.action 
   /usr/sbin/mysqld  要是有这个表示mysql被限制了执行下面绿色的命令
0 profiles are in complain mode. 
1 processes have profiles defined. 
1 processes are in enforce mode : 
   /usr/sbin/mysqld (1089) 
0 processes are in complain mode. 

If mysqld is included in enforce mode, then it is the one probably denying the write. Entries would also be written in /var/log/messages when AppArmor blocks the writes/accesses. What you can do is edit /etc/apparmor.d/usr.sbin.mysqld and add /data/ and /data/* near the bottom like so:

...
/usr/sbin/mysqld {
    ...
    /var/log/mysql/ r,
    /var/log/mysql/* rw,
    /var/run/mysqld/mysqld.pid w,
    /var/run/mysqld/mysqld.sock w,
    /data/ r,  添加要生成文件的路径
    /data/* rw,添加要生成文件的路径

}

And then make AppArmor reload the profiles.

# sudo /etc/init.d/apparmor reload 

WARNING: the change above will allow MySQL to read and write to the /data directory. We hope you've already considered the security implications of this.

地址:http://blog.sina.com.cn/s/blog_76cf656f01017ab4.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值