ubuntu mysql INTO FILE 权限问题

SELECT * FROM customer INTO OUTFILE '/db_backups'

问题:ERROR 1 (HY000): Can't create/write to file 'db_backups' (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 

原文出处:http://blog.sina.com.cn/s/blog_76cf656f01017ab4.html
posted @ 2012-12-09 11:47  海之泪  阅读(170)  评论(0编辑  收藏  举报