Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So verhindern Sie Verbindungszeitüberschreitungen bei großen MySQL-Importen

Strategien zum Importieren großer MySQL-Datenbanken

PHPMyAdmin-Import

Wenn Sie dies lesen, war PHPMyAdmin wahrscheinlich keine Option für Ihren großen MySQL-Datenbankimport. Trotzdem ist es immer einen Versuch wert, oder? Die häufigste Fehlerursache bei PHPMyAdmin-Importen ist das Überschreiten des Importlimits. Wenn Sie lokal arbeiten oder einen eigenen Server haben, können Sie versuchen, die MySQL-INI-Einstellungen zu ändern, die normalerweise in der my.ini-Datei im MySQL-Installationsordner zu finden sind. Wenn Sie mit WAMP unter Windows arbeiten, können Sie auf diese Datei über die WAMP-Systemsteuerung unter MySQL> my.ini zugreifen. Denken Sie daran, WAMP neu zu starten, damit Ihre neuen Einstellungen verwendet werden. Zu den Einstellungen, die Sie hier möglicherweise erhöhen möchten, gehören:

max_allowed_packet
read_buffer_size

Selbst mit erweiterten MySQL-Importeinstellungen kann es vorkommen, dass Importe aufgrund von PHP-Einstellungen eine Zeitüberschreitung aufweisen. Wenn Sie Zugriff auf PHP.ini haben, können Sie Änderungen an der maximalen Ausführungszeit und den zugehörigen Einstellungen vornehmen. Greifen Sie in WAMP auf die Datei PHP.ini im WAMP-Kontrollfeld unter PHP> php.ini zu. Erwägen Sie, die Limits für die folgenden Einstellungen zu erhöhen, während Sie große MySQL-Importe versuchen:

max_execution_time
max_input_time
memory_limit

Mit Big Dump gestaffelter MySQL-Dump-Importer

Wenn der grundlegende PHPMyAdmin-Import nicht funktioniert, können Sie das Big Dump-Skript von Ozerov.de für gestaffelte MySQL-Importe ausprobieren. Dieses nützliche Skript führt Ihren Import in kleineren Blöcken aus, was oft erforderlich ist, um einen großen MySQL-Dump erfolgreich zu importieren. Es ist ein kostenloser Download unter http://www.ozerov.de/bigdump/ .

Der Prozess der Verwendung von Big Dump ist ziemlich einfach:Sie positionieren im Grunde Ihre SQL-Importdatei und das Big Dump-Skript zusammen auf dem Server, legen einige Konfigurationen im Big Dump-Skript fest und führen dann das Skript aus. Big Dump erledigt den Rest!

Ein wichtiger Punkt bei dieser ansonsten großartigen Option ist, dass sie bei MySQL-Exporten, die erweiterte Einfügungen enthalten, überhaupt nicht funktioniert. Wenn Sie also die Option haben, erweiterte Einfügungen zu verhindern, versuchen Sie es. Andernfalls müssen Sie eine andere Methode zum Importieren Ihrer großen MySQL-Datei verwenden.

Zur Befehlszeile mit der MySQL-Konsole

Wenn Sie WAMP ausführen (und selbst wenn Sie es nicht tun), gibt es immer die Möglichkeit, auf den Punkt zu kommen und Ihre große MySQL-Datenbank mit der MySQL-Konsole zu importieren. Ich importiere auf diese Weise eine 4-GB-Datenbank, während ich diesen Beitrag schreibe. Das ist eigentlich der Grund, warum ich etwas Zeit zum Schreiben aufwenden muss, denn selbst diese Methode braucht Zeit, wenn Sie eine 4-GB-SQL-Datei zum Importieren haben!

Einige Entwickler (normalerweise ich) sind eingeschüchtert, wenn sie einen schwarzen Bildschirm öffnen und dort kryptische Befehle eingeben. Aber es kann befreiend sein, und wenn es um MySQL-Datenbanken geht, ist es oft der beste Weg. In WAMP greifen wir über die WAMP-Systemsteuerung unter MySQL> MySQL-Konsole auf die MySQL-Konsole zu. Lassen Sie uns nun die 2 einfachen MySQL-Konsolenbefehle lernen, die Sie zum Importieren einer MySQL-Datenbank im Befehlszeilenstil benötigen:

use `db_name`

Befehl use gefolgt vom Datenbanknamen teilt der MySQL-Konsole mit, welche Datenbank Sie verwenden möchten. Wenn Sie die Datenbank, in die Sie importieren, bereits eingerichtet haben, beginnen Sie mit der Ausgabe von use Befehl. Angenommen, Ihre Datenbank heißt my_great_database . Geben Sie in diesem Fall den folgenden Befehl in der MySQL-Konsole aus. Beachten Sie, dass Befehle mit einem Semikolon enden müssen.

mysql-> use my_great_database;

mysql-> source sql_import_file.sql

Befehl source gefolgt vom Speicherort einer SQL-Datei importiert die SQL-Datei in die Datenbank, die Sie zuvor mit use angegeben haben Befehl. Sie müssen den Pfad angeben. Wenn Sie also WAMP auf Ihrem lokalen Server verwenden, legen Sie zunächst die SQL-Datei an einem leicht zugänglichen Ort ab, z. B. C:\sql\my_import.sql. Der vollständige Befehl mit diesem Beispielpfad wäre:

mysql-> source C:\sql\my_import.sql;

Nachdem Sie diesen Befehl ausgeführt haben, sollte die SQL-Datei importiert werden. Lassen Sie die Abfragen laufen und warten Sie, bis der Import abgeschlossen ist, bevor Sie die MySQL-Konsole schließen.

Weitere Dokumentation zur MySQL-Befehlszeile finden Sie hier:http:// dev.mysql.com/doc/refman/5.5/en/mysql.html .

Eine andere Lösung ist die Verwendung von MySQL Workbench .