GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Importieren Sie mehrere SQL-Dateien in MySQL

Wenn Sie Ihre Website manuell migrieren oder einfach nur bestimmte SQL-Dateien in Ihre Datenbank importieren müssen, zeigt Ihnen dieser Artikel, wie Sie mehrere SQL-Dateien in mySQL importieren. Wir verwenden sowohl eine grafische Benutzeroberfläche als auch eine MySQL-Befehlszeile.

Zunächst wird dringend davon abgeraten, eine Datenbank auf eine Live-Website zu importieren. Bevor Sie versuchen, eine SQL-Datei zu importieren, stoppen Sie den Webserver und erstellen Sie eine Sicherungskopie Ihrer Datenbank.

Datenbank mit phpMyAdmin importieren

Ich gehe davon aus, dass Ihr Hoster bereits phpMyAdmin auf Ihrem Server installiert hat. Wenn Sie einen VPS betreiben und phpMyAdmin nicht installiert haben, gehe ich in einem separaten Artikel ausführlich auf die Installation von phpMyAdmin unter Linux ein.

Die meisten Hosts legen strenge Datei-Upload-Limits und eine maximale Ausführungszeit fest. Wenn das Datei-Upload-Limit Ihres Servers sehr niedrig ist (2 MB) und Ihre Datenbankdateien sowohl zahlreich als auch groß sind, schlägt der Exportvorgang immer fehl. phpMyAdmin hingegen ist intelligent genug, um den Import dort fortzusetzen, wo er aufgehört hat. Wenn Sie also das maximale Ausführungslimit erreichen, laden Sie die Dateien erneut hoch und phpMyAdmin setzt den Import dort fort, wo er aufgehört hat. Es ist jedoch vorzuziehen, das Limit über cPanel oder durch manuelles Ändern der php.ini zu erhöhen.

Größe des PHP-Datei-Uploads auf VPS erhöhen

Um das maximale PHP-Upload-Limit zu erhöhen, öffnen Sie php.ini und bearbeiten Sie die folgenden Zeilen –

; https://php.net/cgi.check-shebang-line
;cgi.check_shebang_line=1

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
; https://php.net/file-uploads
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; https://php.net/upload-tmp-dir
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
; https://php.net/upload-max-filesize
upload_max_filesize = 2M

Die maximale Upload-Dateigröße ist standardmäßig auf 2 MB eingestellt. Ändern Sie es auf die gewünschte Dateigröße. Scrollen Sie nach unten zu post_max_size . Erhöhen Sie die post_max_size auf die benötigte Größe, wenn sie standardmäßig auf 8 MB eingestellt ist.

Scrollen Sie nach unten und suchen Sie nach max_execution_time . Die standardmäßige max_execution_time ist auf 30 eingestellt , was für den Import großer Datenbankdateien zu kurz ist. In einem meiner Importprozesse musste ich die max_execution_time setzen bis 3600 Sekunden oder eine Stunde. Erhöhen Sie dieses Limit basierend auf der Größe des Imports.

Erhöhen Sie die Upload-Größe der PHP-Datei auf cPanel

cPanel ist das beliebte Control Panel, das von den meisten Hosting-Providern verwendet wird. cPanel ermöglicht die einfache Änderung der PHP-upload_max_filesize , post_max_size und max_execution_time .

Melden Sie sich bei Ihrem cPanel-Konto an und befolgen Sie die nachstehenden Schritte, um die PHP-Einstellungen zu ändern –

Klicken Sie im cPanel-Dashboard auf MultiPHP INI Editor.

Wählen Sie den Domainnamen aus, auf dem phpMyAdmin gehostet wird, oder wählen Sie Home Directory aus, um die PHP-Einstellungen für alle Domains zu ändern. Jetzt sollten Sie alle PHP-Einstellungen sehen. Ändern Sie max_execution_time bis 3600 (1 Stunde), memory_limit bis 512 MB, upload_max_filesize und post_max_size auf Ihren bevorzugten Wert.

Klicken Sie nach dem Ändern der Einstellungen auf Übernehmen. Jetzt ist phpMyAdmin bereit, mehrere SQL-Dateien zu importieren.

Erhöhen Sie die Upload-Größe der PHP-Datei auf DirectAdmin

DirectAdmin ist ein weiterer beliebter Hosting-Manager. DirectAdmin bietet auch eine einfachere Methode zum Ändern von PHP-Einstellungen. Klicken Sie im Dashboard auf PHP-Einstellungen .

Klicken Sie auf die Schaltfläche „Hinzufügen“ und wählen Sie „file_uploads“ aus. Ändern Sie den Wert in „Ein“. Fügen Sie eine weitere Einstellung hinzu, wählen Sie max_execution_time und setzen Sie den Wert auf 1800 oder 3600 (abhängig von der Importgröße). Bei größeren SQL-Dateien kann es bis zu einer Stunde oder sogar länger dauern. Ändern Sie auf ähnliche Weise post_max_size , upload_max_filesize und max_memory Einstellungen.

Wenn Sie ein anderes Webhosting-Panel verwenden, empfehle ich Ihnen, dessen Einstellungen zu überprüfen oder den Support zu kontaktieren, um die PHP-Einstellungen auf dem Server zu ändern.

Jetzt ist es an der Zeit, mit dem Datenbankimport zu beginnen. Starten Sie im Webbrowser phpMyAdmin und navigieren Sie zu Import. Sie können eine einzelne Datei auswählen und dann auf Los klicken. Sie können die Einstellungen basierend auf der zu importierenden SQL-Datei ändern. In den meisten Fällen würden die Standardeinstellungen ausreichen.

Es wird jedoch nur eine einzelne Datei importiert. Um mehrere SQL-Dateien zu importieren, erstellen Sie eine ZIP-Datei aller SQL-Dateien und benennen Sie die ZIP-Datei in folgendem Format um:filename.[format].[zip] . Beispiel:wordpress.sql.zip .

Je nach Anzahl und Größe der Dateien kann der Importvorgang einige Zeit in Anspruch nehmen. Wenn der Vorgang abgeschlossen ist, werden die importierten Daten unter Datenbanken angezeigt .

Datenbank mit MySQL-Befehlszeile importieren

Warnung

Es wird dringend empfohlen, dass Sie die vorhandene Datenbank sichern, bevor Sie neue Datendateien zu der vorhandenen Datenbank migrieren oder hinzufügen.

Wenn Sie den Vorgang vereinfachen und beschleunigen möchten, empfehle ich die Verwendung der mysql-Befehlszeile zum Importieren von Datenbankdateien. Es mag kompliziert erscheinen, ist es aber nicht. Sobald Sie die PHP-Einstellungen geändert haben, genügt ein einziger Befehl, um den Trick auszuführen.

Alte Datenbank löschen und neue SQL-Dateien importieren

Warnung

Der folgende Befehl ersetzt alle vorhandenen Daten durch die neuen Daten. Verwenden Sie diesen Befehl nicht, wenn Sie Daten in eine vorhandene Datenbank importieren möchten, sondern wenn Sie eine alte Datenbank auf einen brandneuen Server migrieren.

Übertragen Sie alle .sql-Dateien auf den Server. SSH in den Server, cd in das Verzeichnis, in dem die SQL-Dateien gespeichert sind, und den folgenden Befehl verwenden, um alle SQL-Dateien zu importieren.

sudo cat *.sql | mysql -u root -p database_name

Ersetzen Sie database_name durch den tatsächlichen Datenbanknamen auf dem Server.

Alte Datenbank behalten und neue SQL-Dateien importieren

Die neuen SQL-Dateien werden mit dem folgenden Befehl importiert. Wenn in der Datenbank übereinstimmende Schlüssel vorhanden sind, werden diese übersprungen und nur Daten importiert, die in der aktuellen Datenbank nicht vorhanden sind.

sudo cat *.sql|sed 's/^INSERT/INSERT IGNORE/'|mysql -u root -p database_name

Schlussfolgerung

Das ist alles dazu. Die Datenbankmigration ist ein risikoreiches Unterfangen. Während des Importvorgangs kann es zu Serverausfällen kommen; Wenn Sie jedoch über eine vollständige Datenbanksicherung verfügen, sind Sie auf der sicheren Seite. Bevor Sie die Datenbank auf den Produktionsserver migrieren, empfehle ich, einen Klon- oder Staging-Server zu erstellen und die Prozesse darauf zu üben.

Wenn Sie Probleme mit den obigen Anweisungen haben, teilen Sie mir dies im Kommentarbereich unter diesem Artikel mit. Oder treten Sie unserem Discord-Server bei.


Linux
  1. So komprimieren Sie mehrere Dateien unter Linux

  2. Wie benenne ich mehrere Dateien mit Find um?

  3. Dd:Mehrere Eingabedateien?

  4. Wie finde ich mehrere Zeichenfolgen in Dateien?

  5. Mehrere Versionen von PHP in Plesk

So finden Sie MySQL-, PHP- und Apache-Konfigurationsdateien

Umbenennungsbefehl in Linux (Mehrere Dateien umbenennen)

PHP MySQL Select-Daten

Linux-Erweiterung zum Umbenennen mehrerer Dateien

Wie man mit PHP eine Verbindung zu MySQL herstellt

Verbinden Sie mehrere MP3-Dateien (verlustfrei)