2017-02-13 2 views
1

Letzte Woche haben wir eine große Seitenmigration gemacht, rund 1200 MySQL db entsorgt und sie wiederhergestellt. Dabei haben wir die Datenbank "mysql" wiederhergestellt und verlieren dann alle Berechtigungen und Benutzer, die bereits auf dem neuen Server erstellt wurden."mysql" -Datenbank von einem anderen Server wiederhergestellt. Gibt es eine Möglichkeit, es "zu regenerieren"?

Gibt es eine Möglichkeit, die MySQL-Datenbank neu zu generieren? Es macht mir nichts aus, die Benutzer und Privilegien zu verlieren, aber ich möchte die alten Benutzer nicht zu diesem neuen Server bringen.

Vielen Dank im Voraus für Ihre Hilfe.

+0

Sie könnten kaum weniger Details angeben, aber ich vermute, dass Sie MySQL installiert haben und dann zum datadir-Verzeichnis gegangen sind und es (mysql-Ordner eingeschlossen) durch die Dateien der älteren Installation ersetzt haben. Habe ich recht? Ist es zu spät, um eine ordnungsgemäße Sicherung durchzuführen? Es gibt keine Garantie, dass ein Datei-Dump, generiert Gott weiß warum, nicht beschädigt ist. –

+0

Wenn Sie einen echten mysql-Dump haben, ist der sicherste Weg, Ihren mysql-Server neu zu installieren und zu importieren. Überschreibe den mysql-Ordner nicht, wenn du deinen alten Datenbankordner verschiebst/kopierst, da er die Installation abbricht, wenn du die mysql-Version änderst. – Tim

+0

Ich denke, Ihre Frage ist off-topic, denn es geht um Datenbankverwaltung nicht um Programmierung. –

Antwort

0

Es tut uns leid zu hören, dass Sie Ihre Daten geklopft haben! Die meisten erfahrenen Datenbankadministratoren führen ein Backup durch, bevor sie Importe durchführen, wie Sie es getan haben, weil wir alle den Fehler gemacht haben, den Sie mindestens einmal beschrieben haben.

Wenn Sie Ihren MySQL-Server neu gestartet haben, seit Sie die MySQL-Datenbank überschrieben haben, dann haben Sie kein Glück. Sie haben die Daten überschrieben und nach einem Neustart sind es nun die offiziellen Benutzer, Kennwörter und Berechtigungen, die von diesem Server verwendet werden.

In diesem Fall ist Ihre einzige Chance, wenn Sie eine andere Sicherung Ihrer alten Daten haben, bevor sie überschrieben wurde.

Wenn Sie nur die Daten überschrieben, FLUSH PRIVILEGES jedoch noch nicht ausgegeben haben und auch wenn Sie den MySQL Server nicht neu gestartet haben, sind die alten Grants immer noch im Speicher. Sie können sie mit einem Werkzeug wie pt-show-grants wiederherstellen.

Hinweis: Wenn Sie MySQL 5.7 verwenden, wurde pt-show-grants vorübergehend deaktiviert. Sie müssen daher mindestens Version 2.2.20 von Percona Toolkit für die Fehlerbehebung verwenden (Details siehe https://bugs.launchpad.net/percona-toolkit/+bug/1435370).

+0

Danke Bill. Dies war eine saubere Wiederherstellung, ich meine, der neue Server hatte keine Benutzerdatenbanken, als die Dump-Datei wiederhergestellt wurde. Ich werde versuchen, einen neuen MySQL-Server zu installieren und dann alle Datenbanken wieder zu installieren (außer natürlich, mysql one) – jspasiuk

Verwandte Themen