使用mysqldump需要的最低权限是什么?

4
我想创建一个MySQL用户,只授予其使用mysqldump的有限权限。我们可以分配给用户的最低权限是什么,以便他只能导出和导入数据库,还是这需要管理员权限?
目前,我已经有了以下工作内容,但我对其范围不确定:
 DROP user 'dumpuser'@'localhost' ;
 FLUSH PRIVILEGES ;
 GRANT  SELECT ON mysql.proc TO  'dumpuser'@'localhost' IDENTIFIED BY 'dumppwd';
 GRANT  ALL ON dbname.* TO 'dumpuser'@'localhost' IDENTIFIED BY 'dumppwd';
 FLUSH PRIVILEGES;

如果可能的话,我希望进一步限制特权范围。


1
要导出模式,它需要对information_schema具有SELECT和LOCK访问权限;要导出数据,它需要对数据库的视图和表进行查看和锁定访问。此外,它还需要具有SHOW VIEW权限来导出任何视图,EVENT权限来导出计划任务,以及TRIGGER权限来导出和维护触发器。 - scragar
@scragar,为什么不把你的评论变成一个回答呢? - hek2mgl
@hek2mgl 因为我有一种可怕的感觉,我可能正在忘记一些重要的东西,而且不想通过假装这是准确的清单来发布包含不正确信息的答案。 - scragar
看起来你是正确的和准确的.. ;) - hek2mgl
而且对于 --routines,需要在 mysql.proc 表上拥有 SELECT 权限。我仍然期待一个完整的答案 :) - sakhunzai
1个回答

6

mysqldump需要对导出的表至少拥有SELECT权限,对导出的视图需要SHOW VIEW权限,对导出的触发器需要TRIGGER权限,如果未使用--single-transaction选项,则还需要LOCK TABLES权限。某些选项可能需要其他权限,如选项说明中所述。


来自http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接