Exportieren Sie Daten aus MySQL. Importieren Sie SQL-Dateien in MySQL-Datenbanken. Bearbeiten der Webserverkonfiguration

Wenn Sie gerade mit der Erstellung einer Website beginnen, tun Sie dies normalerweise auf einem lokalen Server. Wenn es fertig ist, muss es auf einen Remote-Server verschoben werden. Das Kopieren von Dateien ist nicht schwierig, aber hier erfahren Sie, wie es geht Datenbank importieren an einen Remote-Server? Nur über So importieren Sie eine Datenbank in PHPMyAdmin, das erkläre ich dir in diesem Artikel.

Es gibt viele Wege Datenbankimport Ich werde Ihnen jedoch sagen, was meiner Meinung nach das einfachste ist und was ich selbst verwende.

Schritt 1

Das erste, was Sie tun müssen, ist Datenbank exportieren von Ihrem aktuellen Standort (insbesondere einem lokalen Server). Unser Ziel ist es zu bekommen SQL-Abfrage unserer Datenbank. Dazu müssen Sie Folgendes tun:

Schritt 2

Der zweite und letzte Schritt besteht darin, dies zu tun SQL-Abfrage, den Sie kopiert haben, nach PHPMyAdmin, das sich auf dem Server befindet, auf dem Sie es benötigen Datenbank importieren. Gehen Sie dazu folgendermaßen vor:

Dadurch werden alle Ihre Tabellen mit allen Datensätzen auf dem neuen Server erstellt.

Wie Sie sehen können, ist der Prozess Exportieren und Importieren einer Datenbank in PHPMyAdmin auf ein Minimum vereinfacht, so dass es hier keine Probleme geben wird.

Abschließend möchte ich Ihnen noch einen Ratschlag geben. Tatsache ist, dass es sehr oft eine Situation gibt, in der Sie etwas brauchen Importieren Sie nicht die gesamte Datenbank, aber zum Beispiel nur eine Tabelle. Dann ist das Prinzip absolut dasselbe, nur muss man beim Exportieren nicht nur die Datenbank, sondern auch die zu exportierende Tabelle auswählen. Und dann klicken Sie im oberen Menü erneut auf „ Export". Dann ist alles beim Alten Datenbankimport.

Guten Tag Freunde, heute lernen wir, wie man... Warum ist das nötig, fragen Sie sich vielleicht. Vor allem Datenbankexport muss regelmäßig durchgeführt werden, damit Sie in Notsituationen keine wichtigen Informationen verlieren. Beim Export handelt es sich um eine kleine Datei, in der alle Informationen zur Datenbank gespeichert werden. Für Datenbankexport Sie müssen zu PHPMyAdmin gehen und auf die Datenbank klicken, die Sie interessiert. Danach sehen Sie alle darin enthaltenen Tabellen und klicken, ohne sie aufzurufen, auf die Menüschaltfläche „Exportieren“. Die folgende Seite erscheint vor Ihnen:


Ich empfehle Ihnen, eine schnelle Exportmethode zu wählen und auch das Format anzugeben SQL. Danach können Sie auf OK klicken. Vor Ihnen erscheint ein Fenster, in dem Sie aufgefordert werden, die Datei zu speichern.


Sie speichern die Datei an dem Ort, den Sie benötigen. Das Wichtigste ist, sich zu merken, wo Sie sie gespeichert haben, da dies für uns sehr wichtig ist.
Wie bei der normalen Exportmethode. Sie können es auch bei Bedarf verwenden, es gibt viele zusätzliche Einstellungen, die Sie beim Exportieren festlegen können. Wählen Sie beispielsweise die erforderlichen Tabellen aus der Datenbank aus, legen Sie die Kodierung fest und vieles mehr. Wenn Sie an dieser Einstellung interessiert sind, können Sie sie sich ansehen. Aber wir werden nicht tiefer auf diese Situation eingehen.
Nachdem Sie die Datei auf Ihrem Computer gespeichert haben, werde ich Sie bitten, die Datenbank zu löschen. Ich werde Ihnen nicht erklären, wie das geht, da wir das bereits durchgemacht haben. Haben Sie keine Angst vor dem Löschen, wir bringen alles wieder an seinen Platz.
Es ist Zeit, sich zu beschäftigen Datenbankimport. Gehen Sie zum Importmenü.


Wir wählen eine Übersicht Ihres Computers aus und geben den Pfad zu unserer Datei an. Und klicken Sie auf OK. Wie Sie sehen, ist vor Ihnen ein Fehler aufgetreten. Seien Sie nicht beunruhigt, der springende Punkt ist, dass wir nicht die Datenbank selbst importiert haben, sondern nur alle ihre Tabellen. Erstellen Sie daher zunächst eine Datenbank, gehen Sie hinein und klicken Sie auf die Schaltfläche „Importieren“, nachdem Sie alle oben genannten Schritte ausgeführt haben. Durch Drücken der OK-Taste klappt alles, und wenn Sie alles richtig gemacht haben, sollten keine Fehler auftreten.


Wie Sie sehen, ist unsere Tabelle wieder an ihrer Stelle aufgetaucht und alle darin enthaltenen Daten wurden gespeichert. Jetzt verstehen Sie, was für eine wunderbare Gelegenheit Datenbank in PHPMyAdmin exportieren und importieren. Denn wenn Sie über viele Jahre hinweg an einem Tag Ihre gesamte Arbeit verlieren, können Sie dank dieser Datei alles zurückbekommen. Damit verabschiede ich mich von Ihnen und bis bald.

Grüße Freunde! 🙂

Heute habe ich beschlossen, das Gespräch über die Arbeit mit MySQL in der Konsole fortzusetzen und auf die Vorgehensweise zum Exportieren einer MySQL-Datenbank zu achten.

In diesem Artikel werde ich darüber sprechen, wie man eine MySQL-Datenbank speichert und Daten von MySQL in eine Excel-Datei und ein CSV-Format hochlädt.

Wir werden uns verschiedene Möglichkeiten zum Abrufen von Informationen ansehen: Erstellen eines Dumps einer oder mehrerer Datenbanken, Exportieren von Daten aus einzelnen Tabellen und beliebigen Ergebnissen WÄHLEN Anfragen.

Wir sprechen auch darüber, wie man Daten aus einer MySQL-Datenbank in der Serverkonsole und der MySQL-Befehlszeile ausgibt.

In diesem Artikel werde ich nicht darüber sprechen, wie man Daten mit phpMyAdmin und anderen visuellen Tools exportiert.

Erstens, weil es im Internet bereits genügend Material zu diesem Thema gibt. Darüber hinaus handelt es sich um hochwertiges Material, das ich nicht gerne kopieren und einfügen möchte.

Und zweitens habe ich selbst in einem meiner Artikel, in dem ich darüber gesprochen habe, kurz den Prozess der Ausgabe von Informationen aus einer MySQL-Datenbank in eine SQL-Datei besprochen.

Wenn Sie also kein professioneller Entwickler oder Systemadministrator sind, der von Informationen zum Arbeiten mit der Konsole profitieren könnte, und Sie nur wegen der Anleitung zum Exportieren der Datenbank nach phpMyAdmin gekommen sind, können Sie sich darauf beschränken, die Informationen unter dem obigen Link zu lesen .

Ich möchte, dass Sie mich richtig verstehen: Ich möchte Sie in keiner Weise beleidigen, sondern nur, dass Sie Ihre Zeit mit maximalem Nutzen für Ihr Unternehmen verbringen und bekommen, was Sie gesucht haben.

Damit ist der Einführungsteil abgeschlossen und wir gehen zu einer Überprüfung der Konsolenbefehle zum Erstellen eines MySQL-Datenbank-Dumps über, die ich nach der Menge der gespeicherten Daten sortieren möchte: angefangen beim Exportieren der gesamten Datenbank bis hin zu einzelnen Tabellen und den Ergebnissen von beliebige Abfragen.

Erstellen eines MySQL-Datenbank-Dumps über die Konsole

Ich möchte gleich zu Beginn eine kleine Klarstellung machen.

Datenbank-Dump ist eine Datei mit einer Reihe von SQL-Befehlen, die es Ihnen beim Start ermöglicht, Datenbanken und Tabellen zu erstellen und diese mit Informationen zu füllen. Der Dump wird für diejenigen benötigt, die eine MySQL-Datenbank herunterladen möchten, um sie auf einen anderen Server oder innerhalb eines bestehenden zu kopieren.

Und falls es jemand nicht weiß: Ein Backup einer MySQL-Datenbank ist im Wesentlichen ein Dump davon, der zu einem bestimmten Zeitpunkt erstellt wird und es Ihnen ermöglicht, die Struktur und Daten der Datenbank bei Bedarf wiederherzustellen.

Daten exportieren- Hierbei handelt es sich lediglich um das Extrahieren von Informationen aus Tabellen in Textform für die weitere Arbeit mit Text- oder Grafikeditoren.

Daher unterscheiden sich die Befehle für diese Aktionen geringfügig.

Um einen Datenbank-Dump zu erstellen, verfügt MySQL über ein integriertes Dienstprogramm namens mysqldump, die außerhalb der MySQL-Befehlszeile in der Serverkonsole oder einer anderen Shell verwendet werden muss.

Für die einfachste und gebräuchlichste Option – das Exportieren von Daten aus einer bestimmten Datenbank in der MySQL-Konsole, um sie auf einen anderen Server zu übertragen oder intern zu kopieren – müssen Sie den folgenden Befehl ausführen:

Mysqldump -u Benutzername -p Datenbankname > Pfad_und_Dump_Dateiname

Dieses Dienstprogramm kann MySQL-Datenbank-Dumps nur in Form von Dateien mit SQL-Befehlen erstellen. Unabhängig davon, welche Erweiterung Sie für Ihre Datei wählen, ist der Inhalt in jedem Fall derselbe. Und vergessen Sie nicht, vor dem Exportieren von Informationen aus MySQL die Schreibberechtigungen des Verzeichnisses zu überprüfen, in dem die Datei gespeichert werden soll, damit die Datei erstellt werden kann.

Wenn Sie plötzlich einen Dump aller Datenbanken auf dem Server erstellen müssen, verwenden Sie die folgende Befehlsoption:

Mysqldump -u Benutzername -p --all-databases > Pfad_und_Dump_Dateiname

Um nur einige bestimmte Datenbanken zu sichern, müssen Sie mysqldump mit den folgenden Parametern aufrufen:

Mysqldump -u Benutzername -p --databases Datenbankname1, Datenbankname2, ... > Pfad_und_Dumpdateiname

Als Ergebnis erhalten Sie jeweils einen MySQL-Datenbank-Dump, der Befehle zum Erstellen der Struktur der enthaltenen Tabellen (Felder, deren Typen, Indizes, Schlüssel usw.) sowie Operationen zum Befüllen mit Daten enthält.

Diese Option eignet sich nur zum Wiederherstellen und Kopieren ganzer Datenbanken.

Wir werden weiter darüber sprechen, wie man Backups bestimmter MySQL-Tabellen erstellt und deren Daten in lesbarer Form erhält.

Dump einer MySQL-Tabelle und Exportieren von Daten

Um einen Dump bestimmter MySQL-Datenbanktabellen zu erstellen, benötigen wir dasselbe Dienstprogramm mysqldump, aufgerufen mit den folgenden Parametern:

Mysqldump -u Benutzername -p Datenbankname Tabellenname1, Tabellenname2, ... > Pfad- und Dumpdateiname

Beim Aufruf von mysqldump können Sie die erforderlichen Tabellen als Parameterwert angeben --tables, wenn der Parameter verwendet wird --databases wird ignoriert:

Mysqldump -u Benutzername -p --databases Datenbankname1, Datenbankname2 --tables Tabellenname1, Tabellenname2, ... > Pfad_und_Dumpdateiname

Das obige Beispiel zeigt den folgenden Fehler an:

Mysqldump: Beim Auswählen der Datenbank ist der Fehler 1049: Unbekannte Datenbank „Datenbankname1“ aufgetreten

Wie Sie sehen, wird nur die neueste Datenbank aus der Liste verwendet. Im Prinzip ist dieses Verhalten durchaus logisch, denn Die angegebenen Tabellen erscheinen möglicherweise nicht in allen Datenbanken.

Okay, wir haben einen Dump der MySQL-Datenbanktabellen erhalten. Sie können damit wiederhergestellt oder zusammen mit der Struktur kopiert werden.

Aber was ist, wenn Sie nur die darin gespeicherten Informationen benötigen, und zwar vorzugsweise in einer lesbaren Form, damit Sie sie an den Manager senden und in einem normalen Text- oder Tabellenkalkulationseditor anzeigen können? MySQL verfügt auch hierfür über Tools.

Die Möglichkeit, das Versorgungsunternehmen anzurufen, wird uns helfen, unsere Pläne zu verwirklichen MySQL von der Konsole mit bestimmten Parametern:

Mysql -u Benutzername -p Datenbankname -e „SELECT * FROM Tabellenname“

Mit diesem Befehl können wir eine Abfrage an die erforderliche Datenbank ausführen und das Ergebnis an die Konsole ausgeben, ohne zur MySQL-Befehlszeile gehen zu müssen.

Nun, um Daten nicht auf der Konsole auszugeben, sondern in eine Datei zu schreiben, müssen Sie den Befehl wie folgt ergänzen:

Mysql -u Benutzername -p -e "SELECT * FROM Tabellenname" > Pfad- und Dateiname

Dank dieser Konstruktionen können wir nicht nur Daten erhalten, die in allen Feldern der Tabelle gespeichert sind, sondern auch in bestimmten. Ersetzen Sie dazu einfach das Platzhaltersymbol (*) durch Kommas getrennt durch die erforderlichen Platzhalter.

Als Ergebnis wird eine normale Textdatei ausgegeben, die die Namen der Felder in Form einer Kopfzeile und Informationen dazu für alle Datensätze enthält. Es kann in einem normalen Texteditor geöffnet werden, unabhängig davon, welche Auflösung Sie ihm beim Erstellen zugewiesen haben.

Wenn Sie Daten aus einer MySQL-Datenbank im XLS- oder CSV-Format exportieren möchten, damit die resultierende Datei in Tabellenkalkulationseditoren korrekt angezeigt wird, dann erklären wir Ihnen etwas später, wie das geht :)

Erstellen von Backups und Ausgeben von Daten aus einer MySQL-Datenbank mithilfe von Abfragen

Wir haben darüber gesprochen, wie man eine MySQL-Datenbank sichert – eine oder mehrere sowie einzelne Tabellen. In der Praxis kommt es jedoch manchmal vor, dass Sie einen Datensatz exportieren müssen, der nicht auf eine Tabelle beschränkt ist. Oder Sie müssen nur einige Daten aus der Tabelle auswählen.

Entwickler von Unternehmensprojekten erleben dies besonders häufig, wenn Manager sie um die Bereitstellung aller möglichen statistischen Daten bitten. Oder wenn Sie einen bestimmten Teil der Tabelle sichern müssen, um ihn schnell wiederherzustellen.

Für die Sicherung benötigen wir dasselbe Dienstprogramm mysqldump, die wie folgt aufgerufen werden muss:

Mysqldump -u Benutzername -p Datenbankname Tabellenname --wobei „lookup“ > Name_der_Pfad_und_Dumpdatei

Als Ergebnis erhalten wir eine Datei mit SQL-Befehlen zum Erstellen einer Tabelle mit ihrer gesamten Struktur, die nach der Erstellung mit Informationen gefüllt wird, die mithilfe einer Suchabfrage ausgewählt wurden.

Wenn wir nur die Daten in einer oder mehreren Tabellen speichern müssen, müssen wir den im vorherigen Fall verwendeten Befehl zum Abrufen aller Daten in der Tabelle ändern, allerdings mit einigen Klarstellungen:

Mysql -u Benutzername -p -e "SELECT * FROM Tabellenname WHERE Lookup" > Pfad- und Dateiname

Wie Sie wissen, verwenden Sie zusätzlich zu den verschiedenen Klarstellungen in der Anfrage auch die Richtlinie WO, können Sie andere SQL-Konstrukte verwenden: VERBINDEN, UNION usw.

Sie können beliebige Statistiken sammeln :)

Die gleiche Aktion kann auch beim Arbeiten an der MySQL-Befehlszeile mit dem folgenden Befehl ausgeführt werden:

SELECT * FROM Database_table WHERE Lookup INTO OUTFILE "path_and_file_name";

Dieser Befehl wurde speziell zum Erstellen von Dateien mit Stichprobenergebnissen entwickelt. Darüber hinaus können die Ergebnisse nicht nur in Dateien exportiert, sondern auch in Variablen geschrieben werden und die Ausgabedaten können auf verschiedene Arten formatiert werden.

Wenn das oben Gesagte auf Sie zutrifft, finden Sie hier eine vollständige Liste der Parameter und Optionen zum Aufrufen dieses Befehls – https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Zum Abschluss meines kurzen Ausflugs in mysqldump möchte ich eine Variante des Aufrufs eines Befehls mit einer Liste von Parametern vorstellen, um einen optimierten Dump der MySQL-Datenbank und -Tabellen zu erstellen, wobei die Wiederherstellung der Datenbank und einzelner Tabellen weniger Zeit in Anspruch nimmt als mit ein regelmäßiger Anruf:

mysqldump -u Benutzername -h Host_oder_IP_MySQL-Server -p --no-autocommit --opt Datenbankname > Name_der_Pfad_und_Dumpdatei;

Aus Versuchsgründen habe ich diese Option verwendet, um eine MySQL-Datenbank mit einer Größe von 143 MB zu sichern. Die anschließende Wiederherstellung dauerte 59 Sekunden, verglichen mit 1 Minute und 3 Sekunden, als die Datenbank aus einem Speicherauszug wiederhergestellt wurde, der durch den Aufruf von mysqldump ohne spezielle Parameter erstellt wurde.

Ich stimme zu, dass dies eine Kleinigkeit ist. Dies ist jedoch nur bei einer bestimmten Datenmenge der Fall. Wenn Sie diese Technik beim Erstellen eines Dumps mit mehr als 1 GB verwenden, ist der Unterschied deutlicher.

Wenn Sie auf eine solche Situation stoßen, vergessen Sie nicht, zunächst den MySQL-Datenbank-Dump zu archivieren. Das Beste ist tar.gz. Dann wird die Wiederherstellung noch weniger Zeit in Anspruch nehmen.

Exportieren Sie Daten von MySQL in Excel- und CSV-Dateien

Nicht umsonst habe ich Informationen zur Ausgabe von Informationen aus MySQL in diese beiden Formate in einem Block zusammengefasst, denn... Sie sind sich sehr ähnlich, sie werden in etwa auf die gleiche Weise verwendet (zur Strukturierung von Informationen in Form von Tabellen) und es werden dieselben Befehle für den Export aufgerufen.

Wie Sie wissen, besteht der einzige wesentliche Unterschied zwischen diesen Formaten darin, dass die Dateien der Erweiterungen xls und xlsx in Microsoft Office Excel erstellt werden, was nur unter Windows funktioniert, während csv-Dateien universeller sind und in vielen Editoren mit ihnen betrieben werden können.

Dies bedeutet nicht, dass XLS nur in Microsoft Office Excel geöffnet werden kann. Das gleiche OpenOffice bestätigt das Gegenteil.

Damit dies möglich ist, muss diese Unterstützung jedoch im Softwareprodukt vorhanden sein. CSV-Dateien sind sogar in einem gewöhnlichen Texteditor wie Notepad lesbar, dieses Formular ist jedoch nicht vollständig lesbar.

Lassen Sie mich mit der Tatsache beginnen, dass Sie die Ergebnisse von SQL-Abfragen nur in XLS oder CSV exportieren können, mit denen wir zuvor gelernt haben, zu arbeiten, weil Es wird unmöglich sein, die gesamte Datenbank in einem Vorgang in eine Datei auszugeben.

Erstens ist das nicht optimal, weil... Es ist unwahrscheinlich, dass eine solche Datei geöffnet wird, wenn in der Datenbank eine große Menge an Informationen gespeichert ist. Und zweitens ist nicht klar, wie die Informationen in der Datei in Tabellen und Felder aufgeteilt werden sollen.

Nein, es ist natürlich möglich, dies zu tun, aber es ist unwahrscheinlich, dass dies mit einem einzigen Befehl erledigt werden kann, und im Allgemeinen ist es unwahrscheinlich, dass jemand dies in der Konsole tun wird. Ich denke, dass Sie für diese Zwecke eine spezielle Software oder zumindest ein Skript benötigen.

Wenn Sie plötzlich wissen, wie Sie Informationen aus der gesamten MySQL-Datenbank gleichzeitig in eine oder mehrere XLS-Dateien in der Konsole exportieren können, dann schreiben Sie darüber in den Kommentaren. Ich denke, dass es für viele nützlich sein wird, darüber zu lesen.

Wenn es also darum geht, Daten von MySQL nach XLS und CSV zu exportieren, kann dies direkt in der Serverkonsole über das Dienstprogramm erfolgen MySQL oder in der Arbeit, mit der ich Sie in meinem vorherigen Artikel vorgestellt habe.

Beginnen wir der Reihe nach.

Mit den folgenden Befehlen können Sie Daten aus einer MySQL-Datenbank direkt in der Serverkonsole in die Formate csv und xls exportieren.

An Linux Systeme:

Mysql -u Benutzername -d Datenbankname -p -e "SELECT * FROM Datenbanktabelle;" | sed "s/"/\"/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > path_and_file_name. csv

Grundsätzlich können Sie mit diesem Befehl bei unbedingtem Bedarf MySQL-Daten in eine Excel-Datei exportieren. Aber ehrlich gesagt habe ich mich damit in der Praxis noch nicht auseinandergesetzt und ich habe keine Ahnung, was am Ende dabei herauskommen wird, denn... Ich arbeite derzeit unter Windows. Wenn Sie diesen Befehl unter Linux verwenden, schreiben Sie bitte in den Kommentaren über die Ergebnisse Ihrer Arbeit. Ich denke, dass die Informationen für jeden von Interesse sein werden.

An Windows:

Leider funktioniert der Export von Daten aus MySQL-Tabellen nach CSV mit dem obigen Befehl in diesem Fall nicht, weil Windows verfügt im Gegensatz zu Linux nicht über einen integrierten Konsolenbefehl zum Arbeiten mit Threads, wie z. B. sed in Linux.

Natürlich können Sie es installieren, aber es ist zu aufwändig. Alternativ können Sie verwenden CygWin– Linux-Konsolenemulator für Windows-Systeme.

Es ist gut, wenn Sie es bereits installiert haben. Andernfalls wird uns der Export von Daten aus der MySQL-Datenbank mit der gewählten Methode zu viel Mühe bereiten.

Aber das Extrahieren von Informationen in eine XLS-Datei ist so einfach wie 5 Kopeken :) Es ist sehr einfach, es auf die folgende Weise zu starten, die ich persönlich ausprobiert habe:

Mysql -u Benutzername -d Datenbankname -p -e "SELECT * FROM Datenbanktabelle;" > Pfad_und_Dateiname.xls

Diese Datei wurde ohne Probleme in Microsoft Office Excel geöffnet. Das Einzige ist, dass beim Öffnen eine Meldung auf dem Bildschirm angezeigt wurde, dass das tatsächliche Format der geöffneten Datei von der angegebenen Erweiterung abweicht.

Beim Bestätigen der Aktion wurde das Dokument jedoch problemlos geöffnet – alle Informationen wurden in der Form, in der sie in der Tabelle selbst gespeichert waren, in Zellen unterteilt.

Ich weiß nicht, vielleicht werden in Zukunft Probleme auftreten, wenn Sie bestimmte Aktionen in Microsoft Office Excel ausführen; so tief habe ich noch nicht gegraben. Zumindest als ich die Daten normal durchgesehen habe, ist mir nichts Ungewöhnliches aufgefallen.

Wenn Sie bei der Verwendung der aus MySQL exportierten XLS-Datei in diesem oder anderen Programmen auf Probleme stoßen, teilen Sie mir dies bitte in den Kommentaren mit.

Mit der oben beschriebenen Methode können Sie prinzipiell den Inhalt einer MySQL-Datenbank in eine CSV-Datei exportieren. Aber dann werden die Daten aus verschiedenen Feldern der Tabelle massenhaft geschrieben, ohne Trennzeichen, was in verschiedenen Programmen zum Arbeiten mit Tabellen, die normalerweise mit CSV-Dateien arbeiten, möglicherweise nicht gut angezeigt wird.

OpenOffice ist das übrigens egal :) Es hat die Informationen, die wir beim Exportieren der Inhalte der MySQL-Datenbank nach XLS erhalten haben, automatisch abgegrenzt. Ich weiß nicht, wie er es macht, aber ich empfehle, es zu verwenden :)

Nun, dasselbe Microsoft Office Excel zeigte alle Informationen an, die einem Datensatz in der Tabelle entsprechen, und schrieb sie ohne Trennzeichen in eine Zelle. Ich denke, dass andere Tabelleneditoren dasselbe tun werden.

Daher müssen Sie beim Exportieren einer MySQL-Datenbank in CSV-Dateien die Informationen durch Sonderzeichen trennen, die von Redakteuren verstanden werden.

Und dann näherte ich mich nach und nach der zweiten Methode zum Exportieren von MySQL-Daten nach CSV und XLS, nämlich der Verwendung der MySQL-Befehlszeile.

Um MySQL-Daten auf diese Weise in eine CSV-Datei zu exportieren, benötigen wir den folgenden Befehl:

SELECT * FROM Database_table INTO OUTFILE „path_and_file_name.csv“ FELDER TERMINATED BY "," ENCLOSED BY „““ LINES TERMINATED BY „\n“;

Als Ergebnis der Ausführung erhalten Sie eine CSV-Datei in dem von Ihnen beim Aufruf angegebenen Pfad, die in den meisten modernen Tabellenkalkulationseditoren korrekt geöffnet wird. Für alle Fälle möchte ich Sie daran erinnern, dass Sie diesen Befehl erst ausführen müssen, nachdem Sie eine Verbindung zur MySQL-Datenbank hergestellt haben.

Dieser Befehl eignet sich auch hervorragend zum Exportieren von MySQL-Daten in eine XLS-Datei zur korrekten Anzeige in Microsoft Office Excel. Nur in diesem Fall brauchen wir keine Trennzeichen, weil Sie beeinträchtigen die Aufteilung der Informationen in Zellen:

SELECT * FROM Datenbanktabelle INTO OUTFILE "path_and_file_name.xls";

Allerdings ist in der Praxis nicht alles so einfach, wie ich es beschrieben habe. Während Sie den Befehl ausführen, tritt in der Konsole möglicherweise der folgende Fehler auf, der den Abschluss des Exports verhindert:

FEHLER 1290 (HY000): Der MySQL-Server läuft mit der Option --secure-file-priv und kann diese Anweisung daher nicht ausführen

Die Ursache liegt darin, dass Ihr MySQL-Server mit der Option gestartet wurde --secure-file-priv. Persönlich bin ich auf dieses Problem gestoßen, weil ich zum Arbeiten in der Konsole das im WAMP OpenServer-Kit enthaltene MySQL-Distributionskit verwende, das wiederum den MySQL-Server auf diese Weise startet.

Es gibt zwei Möglichkeiten, das Problem zu lösen:

  • Ändern Sie die Startparameter des MySQL-Servers
  • Ändern Sie den Pfad zur endgültigen MySQL-Exportdatei

Die erste Methode schien mir zu kompliziert, weil... Ich müsste mich mit allen sich daraus ergebenden Umständen in die OpenServer-Konfiguration vertiefen, die nicht von mir geschrieben wurde 🙂 Daher habe ich mich für den zweiten Weg entschieden. Wenn Sie auf ein ähnliches Problem stoßen, wiederholen Sie es nach mir.

Zuerst müssen Sie zur MySQL-Befehlszeile gehen und einen der folgenden Befehle ausführen:

VARIABLEN WIE „secure_file_priv“ anzeigen; SELECT @@GLOBAL.secure_file_priv;

Das Ergebnis der Ausführung beider ist der Wert der globalen MySQL-Variablen secure_file_priv, das den Pfad zu dem Verzeichnis enthält, über das MySQL-Datenexport- und -Importvorgänge durchgeführt werden können (in Zukunft ein Link zu einem Artikel über Datenimport).

Diese. bei der Verwendung von Befehlen LADE DATEN Und AUSWÄHLEN... IN OUTFILE exportierte und importierte Dateien können nur in diesem Verzeichnis liegen.

In meinem Fall war diese Variable im Allgemeinen auf gesetzt NULL, Weil Ich verwende, wie bereits erwähnt, MySQL-Dienstprogramme aus der in OpenServer enthaltenen Distribution, um in der Konsole zu arbeiten. Dieser Wert zeigte an, dass die MySQL-Datenexport- und -Importvorgänge mit den angegebenen Befehlen vollständig geschlossen wurden.

Wie sich später herausstellte, ist dies eine häufige Situation bei der Verwendung von Box-WAMP- und MAMP-Servern.

Leider war es in meinem Fall nicht möglich, die üblichen Methoden zum Ändern der Werte globaler MySQL-Variablen zu verwenden:

SET Variablenname = Wert;

Infolgedessen habe ich in der Konsole nur den folgenden Fehler gesehen:

FEHLER 1238 (HY000) in Zeile 1: Die Variable „secure_file_priv“ ist eine schreibgeschützte Variable.

Als Ergebnis, um den Wert einer Variablen zu ändern secure_file_priv Um die Export- und Importvorgänge zu öffnen und die Export- und Importvorgänge zu öffnen, musste ich in die MySQL-Konfigurationsdatei mysql.ini gehen, die sich im Stammverzeichnis der MySQL-Distribution befindet oder auf die auf andere Weise zugegriffen werden kann, wenn MySQL in Ihrem WAMP/LAMP/ enthalten ist. MAMP-Server-Build.

Wenn Sie übrigens den Pfad zum Dateiaustausch-Spool-Verzeichnis ändern möchten, müssen Sie dasselbe tun.

In meinem Fall existierte diese Variable bereits in der Konfiguration, nur in kommentierter Form:

Secure-file-priv = "%dprogdir%\\userdata\\temp"

Wenn Sie es nicht haben, schreiben Sie es von Grund auf in den Abschnitt (zumindest bei mir befand es sich dort).

Ich habe es auskommentiert und beschlossen, es in der Form zu verwenden, in der es geschrieben wurde. Diese. Beim Exportieren von Daten aus MySQL und beim Zurückimportieren werden meine Dateien jetzt in einem Verzeichnis gespeichert c:\openserver\userdata\temp\.

Vergessen Sie nach dem Ändern der Konfiguration (übrigens einer beliebigen) nicht, nach Möglichkeit Ihren Server oder einen separaten Dienst, dessen Einstellungen Sie bearbeitet haben, neu zu starten, damit die Änderungen wirksam werden!

Um sicherzugehen, zeigen Sie die Variable nach dem Neustart des MySQL-Servers erneut an secure_file_priv und kopieren Sie seinen Wert in die Zwischenablage.

Und jetzt müssen wir den Befehl wie am Anfang aufrufen, nur vor dem Namen der Datei, in der Informationen aus der MySQL-Datenbank gespeichert werden, den in der Variablen gespeicherten Pfad schreiben, den wir in der folgenden Form ändern:

SELECT * FROM Datenbanktabelle INTO OUTFILE „secure_file_priv_value\file_name.csv“;

Danach funktionierte in meinem Fall der Datenexport aus MySQL.

Wichtiger Punkt! Wenn Sie mit MySQL unter Windows arbeiten, vergessen Sie nicht, bei der Angabe des Pfads zur Datei „\“ in „/“ zu ändern, da sonst der Fehler auftritt --secure-file-priv wird weiterhin angezeigt.

Damit ist der Artikel über das Sichern einer MySQL-Datenbank und ihrer Tabellen sowie über die Ausgabe von Daten aus MySQL-Tabellen in verschiedene Formate abgeschlossen. Schreiben Sie Ihre Bewertungen in die Kommentare und teilen Sie allen Ihre Skriptoptionen mit, die Sie in der Praxis am häufigsten verwenden.

Wenn Ihnen der Artikel gefallen hat, können Sie sich beim Autor bedanken, indem Sie den Artikel in sozialen Netzwerken erneut veröffentlichen oder das untenstehende Formular finanziell nutzen, damit Sie das Basis-Hosting bezahlen können.

Viel Glück an alle und wir sehen uns wieder! 🙂

P.S.: Wenn Sie eine Website benötigen oder Änderungen an einer bestehenden vornehmen müssen, aber keine Zeit oder Lust dafür haben, kann ich meine Dienste anbieten.

Mehr als 5 Jahre Erfahrung professionelle Website-Entwicklung. Arbeiten mit PHP

Wenn Sie Ihre Datenbank gesichert oder in eine SQL-Datei exportiert haben, können Sie sie über phpMyAdmin in eine der MySQL-Datenbanken Ihres Hosting-Kontos importieren.

Notiz. In einer MySQL-Datenbank sollte keine CREATE DATABASE-Zeile vorhanden sein. Andernfalls kann der Import fehlschlagen.

Über die phpMyAdmin-Schnittstelle können Sie jeweils 8 MB Daten importieren. Wenn Sie eine größere Datei importieren müssen, teilen Sie sie in mehrere 8-MB-Teile auf.

Aufmerksamkeit! Wenn Sie eine Datenbank für verwaltetes WordPress-Hosting importieren, um den reibungslosen Betrieb Ihrer Website zu gewährleisten.

Importieren von SQL-Dateien in MySQL-Datenbanken mit phpMyAdmin

Danach wird die SQL-Datei ausgeführt und die von Ihnen in der SQL-Datei ausgewählte Datenbank aktualisiert. Die Wiederherstellung der Datenbank kann mehrere Minuten dauern.

Notiz. Wenn Sie die Fehlermeldung „Skript-Zeitüberschreitung überschritten“ erhalten, senden Sie bitte dieselbe Datei erneut, wenn Sie den Import abschließen möchten. Der Import wird dann fortgesetzt. Sie können sofort dieselbe Datei auswählen und den Vorgang fortsetzen.

Bei der Übertragung einer Website von einem lokalen Server zum Hosting ist der Export/Import der Datenbank eines der obligatorischen Verfahren. Daher werde ich in diesem Artikel versuchen, den Prozess des Exports und Imports einer Datenbank von einem lokalen Server, also von der Weboberfläche, so detailliert wie möglich zu beschreiben PHPMyAdmin Version 3.2.3 für Hosting.

Als erstes müssen Sie einen lokalen Server starten, in diesem Fall Denwer. Nachdem Sie Denwer gestartet haben, müssen Sie Ihren Browser öffnen und in die Browserzeile Folgendes eingeben: „http://localhost/tools/phpmyadmin“, woraufhin sich ein Fenster vor Ihnen öffnet(Abb.1)mit zuvor erstellten Datenbanken.

Abb.1

Als nächstes müssen wir die Datenbank auswählen, die wir exportieren möchten. In meinem Fall handelt es sich um eine Datenbank namens Mybd. Sie können eine Datenbank auswählen, indem Sie auf der linken Seite des Browserfensters darauf klicken „Bitte wählen Sie eine Datenbank aus“ (Abb. 2).


Abb.2

Nach Auswahl der gewünschten Datenbank öffnet sich ein Fenster mit der Datenbankstruktur. Es gibt einen Eintrag im oberen Menü "Export" Mit dessen Hilfe exportieren wir die Datenbank auf einen Computer und importieren sie dann in das Hosting. Gehen Sie also zum Punkt „Exportieren“. (Abb. 3).


Abb. 3

In dem sich öffnenden Fenster müssen Sie einige Messungen vornehmen (Abb.4), nämlich: Im Block „Exportieren“ müssen Sie alle Datenbanktabellen auswählen, indem Sie auf das Element klicken "Wählen Sie Alle" und aktivieren Sie das Kontrollkästchen neben dem Artikel SQL, dieses Element ist für den Dateityp verantwortlich, der exportiert wird. Außerdem müssen Sie das Kontrollkästchen neben aktivieren „Als Datei speichern“, wodurch sichergestellt wird, dass die Datenbank in einer Datei gespeichert wird. Es müssen keine weiteren Einstellungen geändert werden, einfach die Taste drücken "Gehen".

Abb.4

Wenn Sie nun alles richtig gemacht haben, sollte die Datenbankdatei auf Ihren Computer heruntergeladen werden. Mit dieser Datei importieren wir die Datenbank in das Hosting.

Außerdem müssen Sie die Dateikodierung auf UTF-8 ohne BOM ändern. Um die Kodierung zu ändern, verwende ich einen Texteditor Notepad++(Herunterladen ) . Mit diesem Programm öffnen Sie die Datenbankdatei und im Menü "Codierung" wählen „In UTF-8 ohne BOM konvertieren“ (Abb. 5), dann speichern und schließen.


Abb.5

Fortsetzung des Themas:
Android

Lamoda.ru ist eine der größten Online-Plattformen für den Verkauf von Kleidung und Schuhen für die ganze Familie. Unter mehr als 250.000 Produkten von mehreren hundert globalen Marken finden Kunden...