Acronis Cyber Protect Cloud: Backupfehler Datenbank Dump
Ein Datenbank-Dump ist eine Sicherung beziehungsweise ein Export der Datenbank in eine Datei. Bei MySQL wird dafür das Programm mysqldump verwendet. Kann mysqldump den Export nicht erstellen, schlägt auch das zugehörige Datenbank-Backup fehl.
Fehlermeldung
Der Backupfehler kann mit folgender Meldung auftreten:
Database-Backup failed: 'mysqldump: exit status 2 Warning: Using a password on the command line interface can be insecure. mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces '
Die Meldung enthält zwei unterschiedliche Hinweise:
- Das Passwort wird über die Befehlszeile verwendet.
- Dem Datenbankbenutzer fehlt die PROCESS-Berechtigung für das Auslesen der Tablespaces.
Passwortwarnung in der Befehlszeile
Die Meldung «Using a password on the command line interface can be insecure» weist darauf hin, dass das Passwort als Befehlszeilenargument übergeben wird. Unter Linux können andere Benutzer oder Programme, die auf demselben Computer ausgeführt werden, solche Prozessargumente möglicherweise sehen.
Weitere Informationen zu dieser Warnung:
https://www.google.com/search?q=Using+a+password+on+the+command+line+interface+can+be+insecure
Fehlende PROCESS-Berechtigung
Die Meldung «Access denied; you need (at least one of) the PROCESS privilege(s) for this operation» bedeutet, dass der verwendete Datenbankbenutzer nicht über die erforderliche PROCESS-Berechtigung verfügt. Der Fehler tritt auf, während mysqldump versucht, die Tablespaces der Datenbank auszulesen.
Laut der dokumentierten Recherche kann dieser Fehler im Zusammenhang mit Aktualisierungen von MySQL auftreten, beispielsweise nach einer neuen Version, einem Patch oder einem Bugfix.
Der Fehler kann gemäss den vorhandenen Anleitungen auf zwei Arten behandelt werden:
- PROCESS-Berechtigung für den Datenbankbenutzer erteilen
- mysqldump mit der Option --no-tablespaces ausführen
Weitere Informationen zu beiden Vorgehensweisen:
https://anothercoffee.net/how-to-fix-the-mysqldump-access-denied-process-privilege-error/
PROCESS-Berechtigung erteilen
Die PROCESS-Berechtigung kann dem Datenbankbenutzer global erteilt werden. Melden Sie sich dazu als Administrator an und führen Sie folgende Abfrage aus:
GRANT PROCESS ON *.* TO user@localhost;
PROCESS ist eine globale Berechtigung. Sie kann nicht nur für eine einzelne Datenbank erteilt werden. Globale Berechtigungen gelten für alle Datenbanken auf dem betreffenden MySQL-Server oder betreffen administrative Funktionen.
Wenn Sie versuchen, die PROCESS-Berechtigung nur für eine einzelne Datenbank zu erteilen, kann folgende Fehlermeldung erscheinen:
ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
Verwenden Sie für eine globale Vergabe die Syntax ON *.*.
Hinweis: Das Erteilen der globalen PROCESS-Berechtigung kann Sicherheitsauswirkungen haben. Laut der vorhandenen Wissenssammlung soll diese Vorgehensweise nur für eine eigene lokale Entwicklungsserver-Installation verwendet werden.
Option --no-tablespaces verwenden
Wenn Sie dem Datenbankbenutzer keine globale PROCESS-Berechtigung zuweisen können, verwenden Sie beim Erstellen des Datenbank-Dumps die Option --no-tablespaces.
Beispiel:
mysqldump --no-tablespaces -u user -ppass dbname > db_backup_file.sql
Mit dieser Option versucht mysqldump nicht, die Tablespace-Informationen auszulesen. Dadurch ist für diesen Vorgang keine globale PROCESS-Berechtigung erforderlich.
Hinweis: Die Anpassung der Datenbankberechtigungen und der mysqldump-Konfiguration liegt ausserhalb des Supports. Wenn Sie diese Änderungen nicht selbst durchführen können, wenden Sie sich an eine Fachperson für die Verwaltung Ihrer MySQL-Datenbank.
Weitere Informationen
Weitere Informationen zu Acronis Cyber Protect:
https://www.green.ch/de/support?topic=13