It is a good idea to have a separated user for backing up your mySQL database. You should always create mySQL user to run on localhost.
You should set the following privileges for your backup mySQL user:
Global Privileges: FILE, RELOAD, SUPER
Database Privileges: SELECT, SHOW VIEW, LOCK TABLES