用户执行mysqldump的最小权限?

我想开始调度远程mysqldump克隆,我宁愿使用一个特殊的帐户用于这个目的。 我想授予该用户获得完整转储的最低权限,但我不确定最好的方法去做。

它是如此简单吗?

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

还是我错过了一个更好的方法?

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

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

你也需要SHOW_VIEW,如果有你的数据库中的意见。

看来你也需要RELOAD。 所以:

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

对于那些想知道的,这里是确切的命令:

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

而且如果您想要转储EVENT,则需要EVENT。

如果你想转储TRIGGER,你也需要TRIGGER。 (尽pipe手册说了什么!)