Sichern und verwalten Sie MySQL-Datenbanken über die Befehlszeilen

Index
  1. Backups
  2. Administrator

MySQL-Datenbanken spielen in vielen Computersystemen eine wesentliche Rolle, insbesondere wenn es um Webhosting und Internetdienste geht. Da der Datenbank so viele wertvolle Daten anvertraut werden, ist es wichtig, Backups zu erstellen und zu wissen, wie der Datenbankserver verwaltet wird. MySQL enthält zwei leistungsstarke Tools für diese Aufgaben: „mysqldump“ und „mysqladmin“. Wie der Name schon sagt, dient der erste für Backups und der andere für die Verwaltung. Die Beherrschung dieser beiden Befehle ist von größter Bedeutung, wenn Sie ein kompetenter MySQL-Administrator werden möchten.

Backups

Der Befehl mysqldump erstellt eine Datei mit SQL-Anweisungen, die bei der Ausführung dieselben Tabellen und Daten wie in der Datenbank wiederherstellen. Es kann als Sicherungsmethode oder als einfache Möglichkeit zum Kopieren einer Datenbank von einem Server auf einen anderen verwendet werden. Es kann auch Ausgaben als durch Kommas getrennte Werte (CSV) oder sogar in XML erstellen. Da es sich bei der resultierenden Ausgabe um eine Textdatei mit SQL-Anweisungen handelt, haben Administratoren die Flexibilität, die Dump-Datei anzuzeigen und zu ändern.

Um eine einzelne Tabelle in einer Datenbank zu sichern, verwenden Sie mysqldump wie folgt:

mysqldump -u root -p testdb Tabellenname

Dabei ist „testdb“ der Name der Datenbank und „tablename“ der Name der Tabelle, die Sie sichern möchten. Die Option „-u“ gibt an, welcher MySQL-Benutzer während des Dumps verwendet werden soll, und „-p“ weist mysqldump an, das Passwort interaktiv abzurufen (dh Sie müssen das Passwort eingeben, wenn Sie dazu aufgefordert werden). Der Benutzer muss Lesezugriff auf die Datenbank haben, die gesichert wird (technisch gesehen benötigt der Benutzer die Berechtigungen SELECT, SHOW VIEW, TRIGGER und LOCK TABLES). Der „root“-Benutzer wird normalerweise (zusammen mit einem Passwort) während der MySQL-Serverinstallation konfiguriert.

Die Ausgabe wird direkt an die Konsole gesendet. Um die Ausgabe an eine Datei zu senden und das Passwort in der Befehlszeile anzugeben (nützlich für Backup-Skripte), verwenden Sie Folgendes:

mysqldump -u root --password='secret' testdb-Tabellenname > testdb_table_backup.sql

Dabei ist „secret“ das Passwort für den Benutzer „root“ und „tablename“ der Name der Tabelle, die Sie sichern möchten. Sie sollten „_table_“ im Dateinamen durch den tatsächlichen Tabellennamen ersetzen. Die resultierende Datei „testdb_table_backup.sql“ enthält alle SQL-Anweisungen, die zum Neuerstellen der Tabelle erforderlich sind.

Sie können mehr als einen Tabellenparameter angeben, um mehrere Tabellen zu sichern. Wenn Sie ihn jedoch vollständig weglassen, wird die gesamte Datenbank gesichert. Zum Beispiel:

mysqldump -u root --password='secret' testdb > testdb_backup.sql

Die resultierende Datei „testdb_backup.sql“ enthält einen Dump aller Tabellen in der Datenbank.

Um mehr als eine Datenbank zu sichern, müssen Sie die Option --databases verwenden. Zum Beispiel:

mysqldump -u root --password='secret' --databases testdb testdb2 > testbd_testdb2_backup.sql

Um alle Tabellen aller Datenbanken auf dem MySQL-Server zu sichern, verwenden Sie die Option „--all-databases“:

mysqldump -u root --password='secret' --all-databases > all_dbs.sql

Administrator

Das mysqladmin-Tool wird zur Durchführung administrativer Aufgaben verwendet, einschließlich der Überprüfung der Serverkonfiguration und des aktuellen Status sowie zum Erstellen und Löschen von Datenbanken usw. Um eine Datenbank mit dem Namen „testdb“ zu erstellen, verwenden Sie:

mysqladmin -u root -p testdb erstellen

Die Optionen „-u“ und „-p“ funktionieren genauso wie mit dem Befehl mysqldump.

Um eine Datenbank zusammen mit allen ihren Tabellen zu löschen, verwenden Sie den Unterbefehl „drop“:

mysqladmin -u root -p testdb löschen

Nachdem Sie das Löschen der Datenbank bestätigt haben, wird diese zusammen mit allen ihren Tabellen vom Server entfernt.

Der Befehl mysqadmin kann auch verschiedene Statistiken vom MySQL-Server abrufen. Probieren Sie die Unterbefehle „status“ und „extended-status“ aus. Die einfachste Statusabfrage ist der „Ping“-Befehl, der prüft, ob der Server aktiv ist. Hier ist ein Beispiel für die Verwendung:

mysqladmin -u root --password='secret' Ping

Detaillierte Informationen zum Befehl mysqldump finden Sie auf der MySQL-Dokumentationsseite „A Database Backup Program“ und zum Befehl „mysqladmin“ ebenfalls auf der Seite „A Database Backup Program“. Client zur Verwaltung eines MySQL-Servers Seite.

Wenn Sie Fragen zu den oben genannten Beispielen haben, stellen Sie diese bitte im Kommentarbereich unten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up