我試圖在服務器上做一個MySQL表的轉儲,我正在嘗試在Zend中執行此操作。我有一個模型/映射器/ DBTABLE我要我的表的所有連接結構,我添加以下代碼映射器:使用Zend進入outfile時訪問被拒絕錯誤
public function dumpTable()
{
$db = $this->getDbTable()->getAdapter();
$name = $this->getDbTable()->info('name');
$backupFile = APPLICATION_PATH .
'/backup/' . date('U') .
'_' . $name . '.sql';
$query = "SELECT * INTO OUTFILE '$backupFile' FROM $name";
$db->query($query);
}
這應該工作桃色的,我想,但
Message: Mysqli prepare error: Access denied for user 'someUser'@'localhost' (using password: YES)
是什麼結果。
我檢查了someUser的用戶權限,他擁有所有數據庫和表的權限。我一直在這裏環顧一般網就和平時似乎「一切」,爲用戶的權限是解決問題的車,但不是在我的情況下(除非我忽視的東西,現在我疲倦的眼睛+我不想在我的生產服務器上打開「全部」)。
我在這裏做錯了什麼?或者,有沒有人知道在Zend中完成這個更好的方法?
嘿佩卡, 是,SELECT,INSERT,UPDATE等工作得很好,並根據phpMyAdmin的,SomeUser的有「所有特權」 – Peter 2010-03-15 17:39:23
@彼得奇怪。做了FLUSH PRIVILEGES和/或重新啓動了服務器? – 2010-03-15 17:41:30
@Peter可以嘗試與所有權限創建第二用戶,並與一個嘗試,只是爲了排除重複記錄等? – 2010-03-15 17:41:57