Como pode ser visto em link
para mysqldump --single-transaction Você precisa de: SELECT, SHOW VIEW, RELOAD, REPLICATIOn CLIENT, EVENT e TRIGGER
GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER ON *.* TO 'backup'@'localhost';
E para mysqldump --lock-all-tables você precisa: LOCK
GRANT LOCK TABLES ON *.* TO 'backup'@'localhost';