用户执行 mysqldump 的最低权限是多少?

用户执行 mysqldump 的最低权限是多少?

我想开始安排远程 mysqldump cron,并且我更愿意为此使用一个特殊帐户。我想授予该用户获取完整转储的最低权限,但我不确定最好的方法是什么。

是否很简单

grant SELECT on *.* to '$username'@'backuphost' identified by 'password'; 

或者我错过了更好的方法?

答案1

我相信用户只需要选择要备份的表的权限。

编辑:这家伙说也要分配“锁定表”权限,这是有道理的。

答案2

如果您的数据库中有视图,您还需要 SHOW_VIEW。

答案3

对于那些感到疑惑的人来说,这里是确切的命令:

GRANT SELECT, LOCK TABLES, SHOW VIEW ON *.* TO 'user'@'localhost' IDENTIFIED BY 'password';

答案4

如果您也想转储事件 (EVENT),那么您就需要 EVENT。

而且,如果您想要转储 TRIGGER,那么您就需要 TRIGGER。(不管手册上是怎么说的!)

相关内容