Skip to main content
Version: v1.1

Security Best Practices

Don't use the database's master root account inside script configurations if you can avoid it. Instead, create a dedicated MySQL user that only possesses the bare minimum permissions required to copy files and lock tables:

Create a Restricted Backup User

CREATE USER 'backup_user'@'localhost' IDENTIFIED BY 'your_ultra_secure_password';

-- Grant minimum required privileges for hot-backups
GRANT RELOAD, PROCESS, LOCK TABLES, REPLICATION CLIENT ON *.* TO 'backup_user'@'localhost';

-- Required for MySQL 8.0+ to track block modifications
GRANT BACKUP_ADMIN ON *.* TO 'backup_user'@'localhost';

FLUSH PRIVILEGES;