Ich verwende das automysqlbackup
Skript, um meine MySQL-Datenbanken zu sichern, aber ich möchte einen schreibgeschützten Benutzer, der dies ausführt, damit ich mein Root-Datenbankkennwort nicht in einer Klartextdatei speichere.
Ich habe einen Benutzer wie folgt erstellt:
grant select, lock tables on *.* to 'username'@'localhost' identified by 'password';
Beim Ausführen mysqldump
(entweder durch automysqlbackup
oder direkt) erhalte ich die folgende Warnung:
mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'information_schema' when using LOCK TABLES
Mache ich es falsch? Benötige ich zusätzliche Stipendien für meinen schreibgeschützten Benutzer? Oder kann man root
den information_schema
Tisch nur abschließen ? Was ist los?
Bearbeiten:
GAH und jetzt funktioniert es. Ich habe FLUSH PRIVILEGES möglicherweise noch nicht ausgeführt.
Wie oft geschieht dies übrigens automatisch?
Bearbeiten:
Nein, das geht nicht. Das mysqldump -u username -p --all-databases > dump.sql
manuelle Ausführen generiert keinen Fehler, gibt jedoch kein information_schema aus. automysqlbackup
löst einen Fehler aus.
quelle
mysqldump
: mysqldump speichert die INFORMATION_SCHEMA-Datenbank nicht. Wenn Sie diese Datenbank explizit in der Befehlszeile benennen, ignoriert mysqldump sie unbemerkt. Es scheint, als sei die Manpage veraltet (und es wird eine Warnung ausgegeben), oderautomysqlbackup
es werden einige zusätzliche Überprüfungen des Speicherauszugs für durchgeführtinformation_schema
. Nicht sicher, welches es ist, aber es hängt nicht mit Benutzerbewilligungen zusammen.Antworten:
Diese Berechtigungen sollten alles sein, was für den mysqldump benötigt wird.
Da Sie LOCK TABLES gewährt haben und es auf LOCK TABLES fehlerhaft ist, scheinen die Berechtigungen inkonsistent zu sein. Hast du einen laufen lassen
FLUSH PRIVILEGES
?quelle
Ups ... von der Manpage für
mysqldump
:Scheint, als ob die Manpage veraltet ist (und eine Warnung auslöst) oder
automysqlbackup
zusätzliche Überprüfungen des Dumps für ausführtinformation_schema
.Nicht sicher, welches es ist, aber es hängt nicht mit Benutzerbewilligungen zusammen.
Bearbeiten
Ja, es ist ein Fehler in
automysqlbackup
Version 2.5.1 (mit MySQL 5.1.41 unter Ubuntu 10.04) - es versucht zu sichern,information_schema
wenn es nicht sollte.UPDATE: Fügen Sie
information_schema
zuDBEXCLUDE
Zeile 76 des Skripts hinzu.quelle