Ubuntu 8.04 Desktop 版的MySQL BUG?


写了一个检测域名的脚本,在家里的Ubuntu 8.04 Desktop的机器上运行,在往Mysql数据库里导入数据的时候出错:

mysql> load data infile"/home/cron/ddd.txt" into table test;
ERROR 29 (HY000): File '/home/cron/ddd.txt' not found (Errcode: 13)

文件确实存在,权限也有:

alfa@alfa-desktop:~$ ll /home/cron/ddd.txt
-rwxrwxrwx 1 alfa alfa 63825408 2008-10-30 11:13 /home/cron/ddd.txt

而数据库里的权限也给了:

mysql> select * from  mysql.user where user="root" and host="localhost" \G;
*************************** 1. row ***************************
                 Host: localhost
                 User: root
             Password:
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
          Reload_priv: Y
        Shutdown_priv: Y
         Process_priv: Y
            File_priv: Y
           Grant_priv: Y
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
         Show_db_priv: Y
           Super_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
         Execute_priv: Y
      Repl_slave_priv: Y
     Repl_client_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: Y
     Create_user_priv: Y
             ssl_type:
           ssl_cipher:
          x509_issuer:
         x509_subject:
        max_questions: 0
          max_updates: 0
      max_connections: 0
 max_user_connections: 0
1 row in set (0.00 sec)


奇怪了,

在网上搜了一下,说好像是个BUG,不过能解决:

解决方法:

gelmjw@voyager:~$ sudo aa-complain /usr/sbin/mysqld
[sudo] password for gelmjw:
Setting /usr/sbin/mysqld to complain mode.
gelmjw@voyager:~$ sudo /etc/init.d/apparmor reload
Reloading AppArmor profiles : done.
gelmjw@voyager:~$

不知道这个apparmor命令是做啥的,反正运行完这两个命令好就好使了。。

相关内容