一般错误:1 Can';t创建/写入文件错误代码:2


General error: 1 Can't create/write to file errcode:2

我正试图将CSV文件写入/var/www/VistaMind_CMStmp,但收到错误消息:SQLSTATE[HY000]: General error: 1 Can't create/write to file '/VistaMind_CMS/tmp/app_users.csv' (Errcode: 2)

我试过做chown mysql:mysql /var/www/VistaMind_CMS/tmp,但不起作用。我不想修改my.cnf中的TMPDIR var,它目前设置为/var/www,但我希望MySQL将数据库表转储到/var/www/VistaMind_CMS/tmp。

请帮忙!

我的代码是:

    $file_path = $this->view->baseUrl()."/../tmp/app_users.csv";
    $sql = "SELECT * FROM users INTO OUTFILE '".$file_path."' ".
            "FIELDS TERMINATED BY ','
            ENCLOSED BY ''"'
            LINES TERMINATED BY ''n'";
    $db = Zend_Registry::get('db');
    $stmt = $db->query($sql, array());
    echo "Done!!";

您需要执行chown mysql:mysql /var/www/VistaMind_CMS/tmp

在我的案例中,chown并没有解决这个问题。我在下面的帖子中遵循了第二步,最终解决了我的问题

http://www.mydailyhacks.org/2014/11/08/how-can-i-backup-a-mysql-database-or-export-it-to-a-file/

(我不得不更改mysql使用的tmpdir)