我正在尝试在服务器上转储 MySQL 表,并尝试在 Zend 中执行此操作。我的所有表连接都有一个模型/映射器/dbtable 结构,并且我将以下代码添加到映射器中:
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 中完成这项工作的更优雅的方法吗?