So sichern Sie Ihre MySQL-Datenbanken
Shell: FAQ page chrome, see faq/INDEX-AND-CHROME.md.
Body
Einführung
Eine physische Kopie der MySQL-Backend-Verzeichnisse für den späteren Gebrauch funktioniert nicht immer, und die Wiederherstellung ist schwierig und mit komplizierten Abläufen verbunden. Wir sehen uns zwei Methoden an, mit denen Sie Ihre Datenbanken sauber sichern und wiederherstellen.
#1. mysqldump
MySQL und MariaDB bringen ein Werkzeug namens mysqldump mit, mit dem Sie die gehosteten Datenbanken einfach sichern. Das erzeugte SQL-Backup ist die vollständige Folge von SQL-Anweisungen, die die Quelldatenbank abbilden. Bei der Wiederherstellung werden daraus die Datenbankobjekte in derselben oder einer anderen MySQL/MariaDB-Instanz angelegt. Das Backup ist portabel, Sie können die Datei mit jedem Texteditor öffnen und die SQL-Anweisungen bei Bedarf anpassen.
mysqldump für alle Datenbanken
Mit der folgenden Syntax sichert mysqldump alle Datenbanken des MySQL-Servers. Dafür brauchen Sie die Zugangsdaten des MySQL-Administrators. Nach dem Aufruf wird das Administratorpasswort abgefragt, und das Backup wird an den Ort geschrieben, den Sie als Ausgabedatei angeben.
mysqldump -u root -p --all-databases > all-DB-dump-$( date '+%Y-%m-%d_%H-%M-%S' ).sql
mysqldump für eine einzelne Datenbank.
Sie können die Zugangsdaten des Administrators oder den Datenbankbenutzer der jeweiligen Datenbank verwenden. Stellen Sie sicher, dass der Datenbankbenutzer die Rechte GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER auf die Datenbank hat. Mit den folgenden Befehlen aus einer MySQL-Shell legen Sie den Benutzer an und geben ihm die für Backups nötigen Rechte.
CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY '<password>';
GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER ON db_name.* TO 'bkpuser'@'localhost';
Ersetzen Sie bkpuser durch den gewünschten Benutzernamen für den Backup-Benutzer, password durch das tatsächliche Passwort des Benutzers und db_name durch den Namen der Datenbank. Danach sichern Sie die Datenbank db_name mit dem Benutzer bkpuser und seinen Zugangsdaten über die folgende Syntax.
mysqldump -u [username] -p[password] -h [host] [databaseName] > [backup-name].sql
Oder
mysqldump -u bkpuser -p<password> db_name > db_name.sql
mysqldump für eine einzelne Tabelle
Mit der folgenden Syntax sichern Sie eine einzelne Tabelle aus der Datenbank.
mysqldump -u [username] -p[password] -h [host] [databaseName] [tableName] > [backup-name].sql
Oder
mysqldump -u bkpuser -p<password> db_name table_name > table_name.sql
Wiederherstellung des erzeugten Backups.
Der mysql-Client spielt die .sql-Datei in eine Datenbank zurück. Mit dem folgenden Befehl aus der MySQL-Shell legen Sie eine leere Datenbank für die Wiederherstellung an.
mysql> create database db_name;
Query OK, 1 row affected (0.08 sec)
Mit dem mysql-Client und der folgenden Syntax starten Sie die Wiederherstellung aus der .sql-Datei.
mysql -u [username] -p [databaseName] < backupFile.sql
mysqldump kann auch eine Datenbank von einem entfernten Server sichern, mit der folgenden Syntax.
mysqldump --host hostaddress -P portnumber -u username -ppassword dbname > dbname.sql
#2 Mit phpMyAdmin
phpMyAdmin ist in cPanel und Plesk enthalten und kann eine Datenbank aus dem Browser heraus exportieren und importieren.
Melden Sie sich im phpMyAdmin Ihrer Datenbank an, klicken Sie auf den Reiter Export, wählen Sie das Format der Backup-Datei, wählen Sie SQL aus der Auswahlliste und klicken Sie auf «Go». Das Backup wird erzeugt und in derselben Browsersitzung heruntergeladen.
Wählen Sie den Reiter «Import», klicken Sie auf «Choose File», suchen Sie die Backup-Datei auf Ihrem Rechner und klicken Sie auf «Go», um ein Backup über phpMyAdmin wiederherzustellen.
Aus den FAQ von EuroVPS.
Mehr in «Anleitungen»Ihr nächster Infrastrukturpartner
Haben Sie noch
eine Frage?
Sagen Sie uns, was Sie erreichen möchten. Ein Ingenieur liest es und antwortet.
+357 222 32280
Beginnen wir mit Ihrer Umgebung.
Ein wenig Kontext hilft uns, das richtige Gespräch zu beginnen.
