我想开始安排远程 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。(不管手册上是怎么说的!)