当执行'SELECT INTO OUTFILE'时,对于错误访问被拒绝的mysqldump有哪些权限?

备份用户具有BackupAdminangular色和ALL权限(对象权限,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' 

使其工作的唯一方法是将DBAangular色提供给备份帐户,但这是一个安全风险,所以我只想给它一个必要的权限。 他们是哪一个?

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

这个特权是全球性的 ,这意味着它只能被授予“ ON *.* ”:

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