Я пытаюсь создать дамп таблицы MySQL на сервере, и я пытаюсь сделать это в Zend. У меня есть структура model / mapper / 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?