执行'SELECT INTO OUTFILE'时,对于错误访问被拒绝,mysqldump的正确权限是什么?

时间:2012-03-08 10:56:10

标签: mysql windows mysqldump

备份用户具有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'

使其工作的唯一方法是为备份帐户提供DBA角色,但这是一个安全风险,因此我只想给它提供必要的权利。 他们是谁?

1 个答案:

答案 0 :(得分:17)

您需要FILE权限才能被允许使用SELECT...INTO OUTFILE,这似乎是mysqldump --tab用于生成制表符分隔转储的内容。

此权限为global,这意味着它只能被授予“ON *.*”:

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