我试图在服务器上做一个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