Wie kann ich MySQL Benutzer und ihre Privilegien sichern?Backup MySQL Benutzer
Alles wie mysqldump?
Ich suche so etwas wie:
mysqldump -d -u root -p MyTable > Schema.sql
Wie kann ich MySQL Benutzer und ihre Privilegien sichern?Backup MySQL Benutzer
Alles wie mysqldump?
Ich suche so etwas wie:
mysqldump -d -u root -p MyTable > Schema.sql
Bisher meine Erfahrungen mit MySQL ich etwas zu Backup-Benutzer nicht sehen, und ihre Privilegien durch eine Befehlszeile.
aber ich kann Backup diese kritischen Daten durch mysql
mysqldump -u root -p mysql > mysql.sql
Die Benutzer und Berechtigungen gespeichert sind, in der datenbank namens ‚mysql‘ das Sichern. Sie können mysqldump verwenden, um die Tabellen in der Datenbank "mysql" zu sichern.
können Sie hinzufügen, wie Sie diese wiederherstellen? – Dementic
@Dementic Siehe http://Stackoverflow.com/a/12634618/2310830 – RiggsFolly
mysql -BNe "select concat('\'',user,'\'@\'',host,'\'') from mysql.user where user != 'root'" | \
while read uh; do mysql -BNe "show grants for $uh" | sed 's/$/;/; s/\\\\/\\/g'; done > grants.sql
Lebensretter, dies! – Volomike
können Sie Backup MySQL-Datenbank
mysqldump -u root -p mysql > mysql.sql
mit und MySQL-Datenbank wiederherstellen, indem
mysql -uroot -p mysql < mysql.sql
Ausführung Sie nicht zu
FLUSH PRIVILEGES
vergessen
nach dem Wiederherstellen von Dump.
Hoffe, es hilft ...
Danke! Nach dem Befehl 'FLUSH PRIVILEGES' begann alles zu arbeiten. – Dzamir
Dies ist die bessere Antwort, da es den Befehl flush priviles enthält. Eine andere Alternative besteht darin, den Serverprozess nur neu zu starten, statt die Berechtigungen zu löschen. – Ligemer
Dies ist nur garantiert, wenn die Wiederherstellung auf die gleiche MySQL-Version funktioniert. Die 'mysql'-Datenbank kann sich je nach Version unterscheiden und enthält viel mehr als nur Benutzer/Privilegien. Wenn Sie Ihre Benutzer und Berechtigungen auf einen anderen Server migrieren möchten, ist die obige Antwort von @spirit der richtige Weg. – kostas
wahrscheinlich ziemlich offensichtlich für Liner mysql Befehl aber für über Geist Antwort hatte -u root Ppassword hinzuzufügen, nachdem beide mysql
Befehlemysql -u root Ppassword -BNe "wähle concat ('\' ', user,' \ '@ \' ', host,' \ '') aus mysql.user wo user! = 'Root'" | während lesen uh; mysql -u root -ppassword -Bne "zeige Zuschüsse für $ uh" | sed 's/$ /; /; s/\\/\/g '; getan> grants.sql;
Wie sollte dies wiederhergestellt werden? ist es nur durch Ausführen der resultierenden Datei auf dem information_schema? –