Ich wechsle von einem Server auf einen anderen und möchte alle Datenbanken + Benutzer / Berechtigungen / Kennwörter von meinem MySQL-Server sichern. Ich habe festgestellt, dass eine Datenbank mit gesichert mysqldump
wurde, kann aber nicht herausfinden, wie alle Benutzer und die angegebenen Berechtigungen gesichert werden. Gibt es eine Möglichkeit, dies zu erreichen, oder muss ich dies auf dem neuen Server neu einrichten?
mysql
migration
installation
Nidhoegger
quelle
quelle
Antworten:
Die 'mysql'-Datenbank enthält Benutzer / Berechtigungen / Kennwörter. Nehmen Sie also den Speicherauszug der MySQL-Datenbank zusammen mit anderen Datenbanken
Diese MySQL-Datenbanktabellen enthalten Grant-Informationen
user: Benutzerkonten, globale Berechtigungen und andere Spalten ohne Berechtigungen.
db: Berechtigungen auf Datenbankebene.
tables_priv: Berechtigungen auf Tabellenebene.
columns_priv: Berechtigungen auf Spaltenebene .
procs_priv: Berechtigungen für gespeicherte Prozeduren und Funktionen.
Nach Wiederherstellung mit abgleichen
quelle
mysql.user
möglicherweise aufgrund von Schemaänderungen fehl.mysql_upgrade
ist ein Skript, mit dem Schemaänderungen vorgenommen werden können. Es wird jedoch davon ausgegangen, dass Sie jeweils nur eine wesentliche Änderung vornehmen und nicht erneut laden. Erforsche es. (Entschuldigung, ich habe keine Erfahrung im Bereich Upgrades.)flush privileges;
auf dem neuen MySQL. Aufmysql -u root -p -e'flush privileges;'
diese Weise kann / wird Ihr Root-MySQL-Passwort auf Ihrem neuen Server auch als Root-Passwort von Ihrem alten Server festgelegt. Stellen Sie also sicher, dass Sie wissen, was das ist.Dieses PHP-Skript wurde von der Notwendigkeit inspiriert, dasselbe wie bei der ursprünglichen Frage zu tun, bei der auf den fraglichen Servern eine andere Version von MariaDB ausgeführt wurde. Da es sich um PHP handelt, sollte es auf jeder Plattform funktionieren, die PHP unterstützt (Version 7.3 oder höher).
quelle