Jeder Benutzer hat Zugriff auf die Datenbank, für die er Zugriffsrechte erhalten hat. Wenn Sie also den mysqldump
Befehl zum Speichern aller Datenbanken erteilt haben, --all-databases
wird nur die Datenbank dieses Benutzers gesichert, und natürlich alle allgemeinen Datenbankdateien, auf die er Zugriff hat. Normalerweise ist es information_schema
nur. Die Dump-Größe wird dadurch nicht viel größer - es werden keine Informationen aus diesem Schema ausgegeben -, da es dynamische Informationen gibt.
Wenn Sie also die Berechtigungen für jeden Benutzer sicherstellen, haben Sie eine einfache Lösung zum Sichern dieser Benutzerdatenbanken, indem Sie einfach "alle Datenbanken" sichern.
mysqldump: Geben Sie den Benutzernamen der Datenbankbenutzer in ~ / .my.cnf an
Ich betreibe einen gemeinsam genutzten Server mit mehreren Benutzern. Jeder Benutzer verfügt über eine eigene Datenbank in MySQL und die zugehörigen Anmeldeinformationen. Ich habe eine Vorlage systemd timer & service (dh sitetasks @ .timer & sitetasks @ .service ) erstellt, mit der täglich mysqldump ausgeführt wird, um jede Benutzerdatenbank zu sichern. Benutzerspezifische Informationen werden von mysqldump aus der Datei .my.cnf im Basisverzeichnis jedes Benutzers gelesen .
Ich kann dann den Systemd-Zeitgeber / -Dienst für einen bestimmten Benutzer ausführen (z. B. sitetasks@user1.service ), um die Datenbank dieses Benutzers zu sichern .
Ich kann jedoch keinen Weg finden, um den Datenbanknamen in .my.cnf anzugeben . Ich habe mir die Option --databases angesehen, aber dies ist nur ein Flag, keine Möglichkeit, eine Datenbank oder einen Satz von Datenbanken anzugeben.
Ich kann mir verschiedene Wege vorstellen, um dies anders zu lösen:
- Erstellen Sie benutzerspezifische System-Timer / -Dienste - aber dies lässt sich nicht gut skalieren
- Legen Sie eine .db-name-Datei in das Home-Verzeichnis des Benutzers ab und lesen Sie sie beim Aufruf von mysqldump (etwas wie mysqldump $ (cat .db-name)> backup.sql) - aber jetzt brauche ich eine zusätzliche Datei
- ähnlich wie # 2, aber die wp-config.php jedes Benutzers analysiert (die Datenbank ist für Wordpress)
- Stellen Sie sicher, dass der Datenbankname immer mit dem Benutzernamen übereinstimmt
Keines davon ist so skalierbar und portabel wie MySQLs vorhandene .my.cnf-Optionsdatei .
Gibt es eine Möglichkeit, einen Standarddatenbanknamen in .my.cnf anzugeben ?
1 Antwort auf die Frage
Verwandte Probleme
-
3
OpenX: mySql VS PostgreSQL
-
4
Wie kann ich eine MySQL-Datenbank am besten in eine Zugangsdatenbank konvertieren?
-
3
Wie kann ich eine Xorg.config-Datei automatisch generieren?
-
1
ArchLinux in VirtualBox stürzt ab (Host Ubuntu)
-
1
Synchronisation von zwei (VM) Linux-Systemen
-
6
Wie kann ich verhindern, dass Dienste beim Booten unter Ubuntu gestartet werden?
-
8
Ist Arch Linux schwer zu installieren? Gibt es einige Tipps, um es schneller und einfacher zu machen...
-
2
Wie kann ich meine Datenbank wiederherstellen?
-
6
Ist MySQL standardmäßig mit OS X Leopard 10.5 oder 10.6 installiert?
-
1
Ext3-Partitionen mit Windows reparieren?