Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So exportieren und importieren Sie einen bestehenden Benutzer (mit seinen Berechtigungen!)

Eine der einfachsten Methoden, die ich zum Exportieren von Benutzern gefunden habe, ist die Verwendung von Perconas Tool pt-show-grants. Das Percona-Toolkit ist kostenlos, einfach zu installieren und zu verwenden, mit umfangreicher Dokumentation. Es ist eine einfache Möglichkeit, allen Benutzern oder bestimmten Benutzern zu zeigen. Es listet alle ihre Erteilungen und Ausgaben im SQL-Format auf. Ich gebe ein Beispiel dafür, wie ich alle Berechtigungen für test_user anzeigen würde:

shell> pt-show-grants --only test_user

Beispielausgabe dieses Befehls:

GRANT USAGE ON *.* TO 'test_user'@'%' IDENTIFIED BY PASSWORD '*06406C868B12689643D7E55E8EB2FE82B4A6F5F4';
GRANT ALTER, INSERT, LOCK TABLES, SELECT, UPDATE ON `test`.* TO 'test_user'@'%';

Normalerweise leite ich die Ausgabe in eine Datei um, damit ich bearbeiten kann, was ich brauche, oder lade sie in mysql.

Wenn Sie das Percona-Tool nicht verwenden und einen Dump aller Benutzer erstellen möchten, können Sie alternativ mysqldump auf diese Weise verwenden:

shell> mysqldump mysql --tables user db > users.sql

Hinweis:--flush-privileges funktioniert damit nicht, da nicht die gesamte Datenbank ausgegeben wird. das bedeutet, dass Sie es manuell ausführen müssen.

shell> mysql -e "FLUSH PRIVILEGES"