我正试图将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)