По факту ам нужен пользователь с разрешениями SELECT и LOCK TABLES, входим в консоль MySQL:
mysql -u root -p
Создаем пользователя:
CREATE USER 'backupuser'@'localhost' IDENTIFIED BY 'passw0rd';
Даем ему привилегии:
GRANT LOCK TABLES, SELECT ON *.* TO 'backupuser'@'%' IDENTIFIED BY 'passw0rd';
Можно указать “расширенные” параметры:
GRANT SELECT,RELOAD,FILE,SUPER,LOCK TABLES,SHOW VIEW ON *.* TO 'backupuser'@'localhost' IDENTIFIED BY 'passw0rd' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
Бонус
Дать разрешения к конкретной базе можно так:
GRANT LOCK TABLES, SELECT ON DATABASE.* TO 'backupuser'@'%' IDENTIFIED BY 'passw0rd';