Каковы надлежащие привилегии для mysqldump для доступа с ошибками, запрещенного при выполнении «SELECT INTO OUTFILE».? - PullRequest
11 голосов
/ 08 марта 2012

резервный пользователь имеет роль BackupAdmin и ВСЕ привилегии (права на объекты, DDL, GRANT).

cmd> mysqldump --routines=TRUE --tab=C:\tmp -h localhost -u backup -pbackup schemalocal
cmd> mysqldump: Got error: 1045: Access denied for user 'backup'@'%' (using password: YES) when executing 'SELECT INTO OUTFILE'

Единственный способ заставить его работать - назначить роль администратора базы данных резервной учетной записи, но это является угрозой безопасности, поэтому я хочу предоставить ему только необходимые права. Какие они?

1 Ответ

17 голосов
/ 22 февраля 2013

Вам нужна привилегия FILE, чтобы иметь возможность использовать SELECT...INTO OUTFILE, что похоже на то, что mysqldump --tab использует для создания дампа, разделенного табуляцией.

Это привилегия global , что означает, что она может быть предоставлена ​​только "ON *.*":

GRANT FILE ON *.* TO 'backup'@'%';
...