Sichern und verwalten Sie MySQL-Datenbanken über die Befehlszeilen
MySQL Datenbanken spielen eine integrale Rolle in vielen Computersystemen, insbesondere wenn es um Webhosting und Internetdienste geht. Mit all den wertvollen Daten, die der Datenbank anvertraut werden, ist es wichtig, Backups zu erstellen, und es ist wichtig zu wissen, wie der Datenbankserver verwaltet wird. MySQL enthält zwei mächtige Werkzeuge für diese Aufgaben: "mysqldump" und "mysqladmin". Wie der Name schon sagt, ist das erste für Backups und das andere für die Administration. Die Beherrschung dieser beiden Befehle ist von größter Bedeutung, wenn Sie ein kompetenter MySQL-Administrator werden wollen.
Sicherungen
Der Befehl mysqldump
erstellt eine Datei mit SQL-Anweisungen, die beim Ausführen dieselben Tabellen und Daten in der Datenbank neu erstellt. Es kann als eine Methode der Sicherung oder als eine einfache Möglichkeit zum Kopieren einer Datenbank von einem Server zu einem anderen verwendet werden. Sie können die Ausgabe auch als kommagetrennte Werte (CSV) oder sogar in XML erstellen. Da die resultierende Ausgabe eine Textdatei mit SQL-Anweisungen ist, können Administratoren die Dump-Datei anzeigen und ändern.
Verwenden Sie mysqldump wie folgt, um eine einzelne Tabelle in einer Datenbank abzulegen:
mysqldump -u root -p testdb Tabellenname
Dabei steht "testdb" für den Namen der Datenbank und "tablename" für den Namen der Tabelle, die Sie ablegen 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 zu erhalten (dh Sie müssen das Passwort eingeben, wenn Sie dazu aufgefordert werden). Der Benutzer muss Lesezugriff auf die Datenbank haben, die ausgegeben wird (technisch benötigt der Benutzer die Berechtigungen SELECT, SHOW VIEW, TRIGGER und LOCK TABLES). Der Benutzer "root" wird normalerweise (zusammen mit einem Passwort) während der Installation des MySQL-Servers 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 dann:
mysqldump -u root --password = 'geheimer' testdb Tabellenname> testdb_table_backup.sql
Dabei ist "geheim" das Kennwort für den Benutzer root und tabelname ist 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 erneuten Erstellen der Tabelle erforderlich sind.
Sie können mehr als einen Tabellenparameter zum Sichern mehrerer Tabellen angeben, oder wenn Sie ihn vollständig weglassen, wird die gesamte Datenbank ausgegeben. Beispielsweise:
mysqldump -u root --passwort = 'geheim' testdb> testdb_backup.sql
Die resultierende Datei "testdb_backup.sql" enthält einen Speicherauszug aller Tabellen in der Datenbank.
Um mehr als eine Datenbank --databases
müssen Sie die Option --databases
. Beispielsweise:
mysqldump -u root --password = 'geheim' --databases testdb testdb2> testbd_testdb2_backup.sql
Verwenden Sie die Option " --all-databases
", um alle Tabellen aus allen Datenbanken auf dem MySQL-Server zu --all-databases
:
mysqldump -u root --password = 'geheim' --all-databases> all_dbs.sql
Administrator
Das mysqladmin-Tool wird verwendet, um administrative Aufgaben auszuführen, einschließlich der Überprüfung der Serverkonfiguration und des aktuellen Status sowie zum Erstellen und Löschen von Datenbanken usw. Um eine Datenbank namens "testdb" zu erstellen, verwenden Sie:
mysqladmin -u root -p erstellt testdb
Die Optionen "-u" und "-p" funktionieren genauso wie beim Befehl mysqldump.
Um eine Datenbank mit all ihren Tabellen zu löschen, benutzen Sie den Unterbefehl "drop":
mysqladmin -u root -p drop testdb
Nachdem Sie das Löschen der Datenbank bestätigt haben, wird sie zusammen mit allen Tabellen vom Server entfernt.
Der Befehl mysqadmin kann auch verschiedene Statistiken vom MySQL-Server abrufen. Probieren Sie die Unterbefehle "Status" und "Erweiterter Status" aus. Die einfachste Statusanforderung ist der Befehl "ping", der überprüft, ob der Server aktiv ist. Hier ist ein Beispiel, wie man es benutzt:
mysqladmin -u root --password = 'geheimer' ping
Sie können detaillierte Informationen über den Befehl mysqldump von der MySQL-Dokumentationsseite A Database Backup Program und ebenso für den Befehl mysqladmin von der Seite Client für das Verwalten einer MySQL-Server-Seite erhalten.
Wenn Sie Fragen zu den oben genannten Beispielen haben, fragen Sie bitte im Kommentarbereich.