Ich habe einen MySQL-Benutzer namens dump mit den folgenden Dauerwellen:
GRANT USAGE ON *.* TO 'dump'@'%' IDENTIFIED BY ...
GRANT SELECT, LOCK TABLES ON `mysql`.* TO 'dump'@'%'
GRANT SELECT, LOCK TABLES ON `myschema`.* TO 'dump'@'%'
Ich möchte alle Daten (einschließlich Trigger und Prozeduren) mit dem Dump- Benutzer sichern . Ich rufe mysqldump folgendermaßen auf:
mysqldump -u dump -p --routines --triggers --quote-names --opt \
--add-drop-database --databases myschema > myschema.sql
Mit der gedumpten Datei ist alles in Ordnung, bis auf die Trigger, sie fehlen !!
Die Trigger werden korrekt ausgegeben, wenn ich mysqldump mit dem Root- MySQL-Benutzer versuche :
mysqldump -u root -p --routines --triggers --quote-names --opt \
--add-drop-database --databases myschema > myschema.sql
Also, ich denke es ist ein perms Frage ist ... was sind die zusätzlichen Zuschüsse mein Dump MySQL Bedürfnisse der Nutzer für den richtigen vollständigen Dump tun?
LOCK TABLES
in der Datenbank brauche, die ich versuche, sich selbst zu entleeren ... mit5.5.49-MariaDB
--opt
,--lock-tables
,--lock-all-tables
,--single-transaction
und die jeweiligen--skip-*
Varianten.Ich fand die zusätzliche Bewilligung, die ich brauchte !!
GRANT TRIGGER ON `myschema`.* TO 'dump'@'%'
Hier haben Sie den Verweis auf das offizielle Dokument: http://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html#priv_trigger
quelle
TRIGGER
Berechtigung zum Speichern des Triggercodes.Ich habe festgestellt, dass irgendwann, wenn der Benutzer VIEW DEFINER nicht existiert, der Speicherauszug fehlschlägt.
Ändern Sie es, wie es
quelle
person
statt angegebenperson@localhost
. Vielen Dank!Zusätzlich zur Antwort von Jannes muss Ihrem MySQL-Benutzer bei Verwendung von mysqldump mit der Option --tab (erstellt eine durch Tabulatoren getrennte Textdatei für jede ausgegebene Tabelle) auch die folgenden Berechtigungen erteilt werden
FILE
:GRANT FILE ON *.* TO 'dump'@'%';
Offizielle Dokumentreferenz: https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_mysqldump_tab
Erwähnt in diesem Abschnitt:
quelle