Un'importazione di database con phpMyAdmin può fallire per vari motivi. Il file SQL potrebbe essere troppo grande, l'importazione potrebbe interrompersi durante l'elaborazione oppure MySQL potrebbe restituire un messaggio di errore specifico relativo a tabelle, permessi, set di caratteri o record esistenti.
È importante non avviare immediatamente lo stesso processo dopo un'importazione non riuscita. Un'importazione interrotta potrebbe aver già creato parte delle tabelle e dei dati. Una seconda importazione su questo stato intermedio può causare ulteriori errori.
In questa guida ti mostriamo come analizzare sistematicamente un'importazione di phpMyAdmin non riuscita, classificare i messaggi di errore tipici e decidere come procedere in sicurezza.
Importante: Prendi nota o copia il messaggio di errore completo prima di modificare qualsiasi cosa. Il messaggio esatto è molto più utile per l'analisi degli errori rispetto all'informazione generale che l'importazione „non funziona“.
Innanzitutto, determinare in quale punto l'importazione fallisce #
Non tutti gli errori di importazione hanno la stessa causa. Verifica quindi prima cosa succede esattamente.
Le situazioni tipiche sono:
- non è possibile selezionare o caricare il file SQL
- phpMyAdmin segnala un errore già prima dell'importazione effettiva
- l'importazione si avvia, ma si interrompe durante l'elaborazione
- phpMyAdmin mostra un errore MySQL o SQL specifico
- l'importazione viene segnalata come riuscita, ma il sito Web non funziona dopo
- una parte delle tabelle è stata importata, il resto manca
Questi casi devono essere trattati diversamente.
Prima di un nuovo tentativo, verificare lo stato del database #
Apri il database di destinazione pertinente in phpMyAdmin e controlla se sono già presenti tabelle.
Se prima dell'importazione era presente un database vuoto e ora vengono visualizzate delle tabelle, almeno una parte del file SQL è stata elaborata.
Attenzione: Non riavviare semplicemente un'importazione fallita su un database parzialmente importato. Ciò potrebbe causare errori dovuti a tabelle già esistenti o a record duplicati.
Leggere il messaggio di errore per intero #
Molti problemi legati a phpMyAdmin o al server di database generano un messaggio specifico.
Nota:
- Numero di errore, se presente
- testo di errore completo
- tabella interessata
- istruzione SQL interessata, se visualizzata
- approssimativo punto in cui l'importazione è stata interrotta
Uno screenshot del messaggio completo può essere utile anche per un'analisi successiva.
Il file SQL è più grande del limite di caricamento consentito #
Se phpMyAdmin accetta solo file fino a una certa dimensione, un file SQL più grande non può essere importato tramite il normale caricamento.
La pagina di importazione può mostrare una dimensione massima consentita del file a seconda della configurazione del server.
Se il tuo file SQL è più grande di questo limite, il problema non è automaticamente del database stesso. È possibile che il file non raggiunga nemmeno del tutto phpMyAdmin.
Importante: Non modificare i limiti PHP a caso. Verifica prima quale limite viene effettivamente raggiunto e se la relativa impostazione nel tuo ambiente di hosting dovrebbe essere modificata autonomamente.
Comprimere file SQL #
A seconda della configurazione di phpMyAdmin e del server, i file SQL compressi potrebbero essere supportati.
Un file come:
database.sql
può comprimersi notevolmente a seconda del contenuto dei dati.
Una variante compressa supportata potrebbe apparire ad esempio così:
datenbank.sql.gz
Puoi capire se e quali formati di compressione siano accettati dall'interfaccia di importazione o dalla specifica configurazione del server.
La compressione aiuta tuttavia solo in caso di problemi di dimensioni del file trasferito. Non risolve errori SQL, di autorizzazione o di tabella.
Importazione avviata, ma va in timeout #
In caso di file SQL grandi o complessi, l'importazione può avviarsi e interrompersi successivamente a causa di un limite di tempo di esecuzione.
Questo è diverso da un semplice limite di upload: il file è stato accettato e almeno parzialmente elaborato.
Verifica assolutamente in questo caso se sono già presenti tabelle e record nel database di destinazione.
Il browser mostra una pagina vuota o la connessione si interrompe #
Se il browser non mostra più un normale messaggio di successo durante un'importazione lunga, non significa automaticamente che non sia stato importato nulla.
Apri quindi di nuovo il database di destinazione in phpMyAdmin e controllane lo stato.
Avviare nuovamente l'importazione solo dopo aver chiarito cosa è già stato elaborato.
Database parzialmente importato #
I file SQL vengono solitamente elaborati un'istruzione alla volta. Se il processo si interrompe nel frattempo, le istruzioni precedenti potrebbero essere già state eseguite.
Il database di destinazione potrebbe quindi apparire così, ad esempio:
Tabella A → presente
Tabella B → presente
Tabella C → presente
Tabella D → importazione interrotta qui
altre tabelle → mancanti
Un tale database non è più vuoto, ma potrebbe anche non essere completo.
Importante: Tratta un importo interrotto come un possibile stato intermedio. Controlla prima il database prima di eliminare, importare nuovamente o utilizzare il sito web in produzione con esso.
Ricominciare da capo o continuare l'importazione? #
Quale procedura sia corretta dipende dal file SQL, dall'errore e dallo stato del database di destinazione.
Nel caso di un database appena creato e destinato esclusivamente a questa migrazione, un avvio pulito può avere più senso rispetto al tentativo di riprendere manualmente un'importazione parziale non chiara.
Se il database contiene invece già dati di produzione, non devi assolutamente eliminare le tabelle esistenti.
Attenzione: Elimina un database parzialmente importato o resettalo solo se è assolutamente certo che non contenga dati di produzione necessari e che esista un backup iniziale adeguato.
Errore #1044 – Accesso al database negato #
Un messaggio con numero di errore #1044 indica tipicamente un problema di autorizzazione relativo a un database.
Ciò può verificarsi, ad esempio, se il file SQL tenta di utilizzare o creare un database per il quale l'attuale utente del database o account di hosting non dispone dei diritti necessari.
Verifica in particolare se il file SQL contiene istruzioni come:
CREA DATABASE ...
USA ...
contiene e se questi corrispondono all'ambiente di destinazione.
Perché CREATE DATABASE può essere problematico nell'hosting #
In un ambiente di hosting cPanel, i database vengono solitamente creati tramite cPanel e associati all'account di hosting.
Un file SQL importato non dovrebbe quindi tentare, senza prima essere verificato, di creare nuove database arbitrari a livello di server.
Crea invece il database di destinazione richiesto come in Creare un database MySQL in cPanel descritto e importare successivamente i dati in questo database.
L'istruzione USE fa riferimento a un vecchio nome di database #
Un file SQL proveniente da un altro ambiente di hosting potrebbe contenere un nome di database precedente.
Per esempio:
USE alteraccount_wordpress;
Nella nuova sede, invece, il database può, ad esempio:
nuovoaccount_wordpress
chiamarsi.
Una tale devianza può essere rilevante durante l'importazione.
Attenzione: Non rimuovere o modificare acriticamente le istruzioni SQL. Verifica prima quali istruzioni sono presenti, cosa fanno e quale database di destinazione deve essere effettivamente utilizzato.
Errore #1045 – Accesso negato #
Errore #1045 indica tipicamente un'autenticazione non riuscita o un accesso al database negato.
Se l'errore si verifica in relazione a un'applicazione, verifica:
- nome utente completo del database
- Password dell'utente del database
- Host del database
- Assegnazione dell'utente al database
- Autorizzazioni dell'utente
Spiegheremo come configurare correttamente un utente del database su Creare un utente MySQL e assegnarlo a un database.
L'importazione è andata a buon fine, ma il sito web segnala comunque l'errore #1045 o "Access denied" #
In questo caso il database potrebbe essere completamente importato e solo l'applicazione potrebbe utilizzare credenziali errate.
In WordPress dovresti quindi in particolare modificare i valori in:
wp-config.php
controllare.
Tra questi vi sono:
DB_NAME
DB_USER
DB_PASSWORD
DB_HOST
Un nuovo import del database non risolve le credenziali di accesso errate dell'applicazione.
Errore #1050 – La tabella esiste già #
Un messaggio come:
#1050 - La tabella esiste già
significa che il file SQL vuole creare una tabella che esiste già nel database di destinazione.
Ciò si verifica spesso quando:
- un'importazione sia già stata parzialmente eseguita
- lo stesso import è stato avviato una seconda volta
- il database di destinazione non era vuoto prima dell'importazione
- un'altra installazione utilizza già gli stessi nomi di tabella
Bei #1050 Tabellen nicht sofort löschen #
Prüfe zuerst, warum die Tabelle bereits existiert.
Wenn es sich um eine produktive Tabelle handelt, könnte deren Löschung Datenverlust verursachen.
Wenn die Datenbank dagegen ausschließlich für eine neue Migration erstellt wurde und ein erster Import nachweislich abgebrochen ist, kann ein sauberer Neustart eine mögliche Vorgehensweise sein.
Die Entscheidung hängt vom tatsächlichen Zustand der Datenbank ab.
Fehler #1062 – Duplicate entry #
Errore #1062 weist typischerweise darauf hin, dass ein Wert eingefügt werden soll, der aufgrund eines eindeutigen Schlüssels bereits vorhanden ist.
Eine Meldung kann beispielsweise sinngemäß auf:
Duplicate entry
indicare.
Das kann unter anderem auftreten, wenn Daten bereits importiert wurden und anschließend erneut eingefügt werden sollen.
Warum ein zweiter Import #1062 verursachen kann #
Wenn der erste Import bereits Datensätze angelegt hat, kann ein erneuter Import versuchen, dieselben IDs oder andere eindeutige Werte noch einmal einzufügen.
Die Datenbank verhindert dies, wenn entsprechende Eindeutigkeitsregeln definiert sind.
Importante: Uno
#1062-Fehler ist kein Grund, eindeutige Schlüssel auf Verdacht zu entfernen. Diese sind Bestandteil der Datenbankstruktur und können für die korrekte Funktion der Anwendung entscheidend sein.
Fehler #1064 – SQL-Syntaxfehler #
Errore #1064 weist typischerweise auf eine SQL-Anweisung hin, die vom Datenbankserver in dieser Form nicht verarbeitet werden kann.
Le possibili cause possono essere:
- eine beschädigte oder unvollständige SQL-Datei
- eine manuell fehlerhaft veränderte SQL-Anweisung
- inkompatible Syntax
- ein Problem an einer bestimmten Stelle der Exportdatei
Die Fehlermeldung nennt häufig eine Stelle beziehungsweise einen Ausschnitt, in dessen Nähe der Fehler erkannt wurde.
Bei Syntaxfehlern nicht wahllos Zeilen löschen #
Eine scheinbar problematische Zeile kann Teil einer größeren SQL-Anweisung sein.
Wenn du einzelne Zeilen auf Verdacht entfernst, kann die Datei anschließend an einer anderen Stelle fehlschlagen oder unvollständige Daten importieren.
Prüfe zuerst die genaue Fehlermeldung und die Herkunft der SQL-Datei.
Fehler wegen unbekannter Kollation #
Beim Import einer Datenbank aus einer anderen Serverumgebung kann eine Meldung erscheinen, dass eine bestimmte Kollation nicht bekannt beziehungsweise nicht unterstützt wird.
Das kann beispielsweise vorkommen, wenn Quelle und Ziel unterschiedliche Datenbankserver-Versionen oder unterschiedliche unterstützte Kollationen verwenden.
Die Fehlermeldung kann sinngemäß enthalten:
Unknown collation
Kollation nicht blind ersetzen #
Es finden sich im Internet zahlreiche Anleitungen, die empfehlen, eine Kollation in der gesamten SQL-Datei pauschal durch eine andere zu ersetzen.
Das kann in einem konkreten Fall funktionieren, ist aber keine universelle Lösung.
Verifica prima:
- welche Kollation die Quelldatenbank verwendet
- welche Kollation der Zielserver unterstützt
- welcher Zeichensatz damit verbunden ist
- ob die Anwendung besondere Anforderungen hat
Attenzione: Zeichensatz und Kollation betreffen die Speicherung und Verarbeitung von Text. Unüberlegte Änderungen können zu falsch dargestellten Zeichen oder unerwartetem Vergleichs- und Sortierverhalten führen.
Umlaute und Sonderzeichen sind nach dem Import falsch #
Wenn Zeichen wie:
ä
ö
ü
é
à
nach dem Import falsch dargestellt werden, kann ein Zeichensatzproblem vorliegen.
Prüfe, ob das Problem bereits in der SQL-Datei vorhanden ist oder erst nach dem Import auftritt.
Ändere nicht sofort die gesamte Datenbankkollation. Die Ursache kann an unterschiedlichen Stellen der Export- und Importkette liegen.
Fehler wegen unbekanntem Zeichensatz #
Auch ein nicht unterstützter Zeichensatz kann einen Import verhindern.
In diesem Fall sollte zuerst geklärt werden, mit welchem Datenbanksystem beziehungsweise welcher Version die SQL-Datei erzeugt wurde und welche Zeichensätze das Zielsystem unterstützt.
Fehler bei DEFINER-Anweisungen #
SQL-Exporte können bei bestimmten Datenbankobjekten Angaben zu einem DEFINER contenere.
Diese können auf einen Benutzer der ursprünglichen Serverumgebung verweisen, der auf dem Zielsystem nicht existiert beziehungsweise dort nicht verwendet werden darf.
Beispielsweise kann eine SQL-Datei einen serverbezogenen Benutzer enthalten, der nur auf dem bisherigen System vorhanden war.
Wenn eine Fehlermeldung ausdrücklich auf DEFINER oder entsprechende Berechtigungen verweist, sollte genau dieser Teil der SQL-Datei beziehungsweise der betroffenen Datenbankobjekte geprüft werden.
Importante: Entferne nicht pauschal sämtliche
DEFINER-Angaben aus jeder SQL-Datei. Prüfe zuerst, welche Objekte betroffen sind und ob diese für die Anwendung benötigt werden.
Fehler wegen fehlender Berechtigungen #
Ein SQL-Export aus einer Umgebung mit weitreichenden Datenbankrechten kann Anweisungen enthalten, die in einer normalen Hosting-Umgebung nicht zulässig sind.
Das bedeutet nicht automatisch, dass dein Hosting-Account falsch konfiguriert ist.
Bestimmte serverweite administrative Aktionen sind bei Shared Hosting bewusst nicht für einzelne Hosting-Accounts freigegeben.
Import bricht bei einer bestimmten Tabelle ab #
Wenn der Fehler immer bei derselben Tabelle auftritt, notiere:
- Tabellenname
- Fehlernummer
- Fehlertext
- ungefähre Position innerhalb des Imports
Damit lässt sich wesentlich gezielter unterscheiden, ob beispielsweise die Tabellenstruktur, ein Datensatz oder eine nicht unterstützte SQL-Anweisung das Problem verursacht.
Import bleibt scheinbar bei einer großen Tabelle hängen #
Einzelne Tabellen können sehr viel größer sein als der Rest einer Datenbank.
Bei WordPress können beispielsweise Protokoll-, Statistik-, Cache- oder andere von Erweiterungen angelegte Tabellen erhebliche Datenmengen enthalten.
Breche einen Import nicht allein deshalb ab, weil eine große Tabelle länger benötigt.
Prüfe, ob phpMyAdmin tatsächlich einen Fehler meldet oder der Vorgang noch verarbeitet wird.
Sehr große SQL-Dateien aufteilen? #
Das Aufteilen einer SQL-Datei kann in bestimmten Situationen eine technische Lösung sein, sollte aber nicht durch willkürliches Zerschneiden an beliebigen Stellen erfolgen.
SQL-Anweisungen können sich über viele Zeilen erstrecken. Wird eine Anweisung mitten im Befehl getrennt, entstehen ungültige Dateien.
Attenzione: Teile große SQL-Dateien nur mit einem dafür geeigneten Verfahren beziehungsweise ausreichenden SQL-Kenntnissen auf. Ein normaler Texteditor und eine beliebige Zeilennummer sind dafür keine sichere Methode.
SQL-Datei ist möglicherweise unvollständig #
Wenn bereits der ursprüngliche Export abgebrochen wurde, kann die erzeugte SQL-Datei unvollständig sein.
Ein späterer Import kann dann ebenfalls abbrechen, obwohl mit der Zieldatenbank nichts falsch ist.
Wenn die Quelle noch verfügbar ist, kann ein neuer vollständiger Export die bessere Lösung sein.
Wie du einen Export korrekt erstellst, erklären wir unter Esportare un database con phpMyAdmin.
SQL-Datei hat 0 Byte oder ist ungewöhnlich klein #
Eine leere oder unerwartet kleine Datei kann darauf hinweisen, dass bereits beim Export etwas nicht wie erwartet funktioniert hat.
Die Dateigröße allein ist zwar kein sicherer Beweis für Vollständigkeit, offensichtliche Abweichungen solltest du aber vor dem Import untersuchen.
Falsches Dateiformat #
Prüfe, ob es sich tatsächlich um einen geeigneten Datenbankexport handelt.
Eine Datei mit der Endung:
.sql
ist ein typisches Format für einen SQL-Export.
Eine beliebige CSV-, XML-, ZIP- oder Textdatei ist nicht automatisch ein vollständiger SQL-Datenbankexport.
Komprimierte Datei wird nicht akzeptiert #
Wenn phpMyAdmin eine komprimierte Datei nicht akzeptiert, prüfe zunächst, welche Kompressionsformate in der Importoberfläche tatsächlich unterstützt werden.
Ändere nicht einfach die Dateiendung.
Das Umbenennen von:
datenbank.zip
in:
database.sql
wandelt den Inhalt nicht in eine SQL-Datei um.
Import ist erfolgreich, aber Website zeigt einen Datenbankfehler #
Ein erfolgreicher Import und eine funktionierende Datenbankverbindung sind zwei unterschiedliche Dinge.
Wenn die Tabellen vorhanden sind, die Website aber keine Verbindung herstellen kann, prüfe die Zugangsdaten der Anwendung.
Bei WordPress insbesondere:
DB_NAME
DB_USER
DB_PASSWORD
DB_HOST
Prüfe außerdem, ob der Datenbankbenutzer der richtigen Datenbank zugewiesen wurde.
Import erfolgreich, aber Website zeigt falsche Inhalte #
Wenn die Website nach dem Import funktioniert, aber nicht die erwarteten Inhalte enthält, solltest du prüfen, ob tatsächlich der richtige Sicherungsstand importiert wurde.
Le possibili cause includono, ad esempio:
- ältere SQL-Sicherung verwendet
- falsche Quelldatenbank exportiert
- Anwendung greift auf eine andere Datenbank zu
- Import war unvollständig
Importiere nicht sofort eine weitere Sicherung darüber. Kläre zuerst, welche Datenbank die Anwendung aktuell verwendet.
Import erfolgreich, aber Website verwendet weiterhin die alte Datenbank #
Das Erstellen und Importieren einer neuen Datenbank ändert nicht automatisch die Konfiguration deiner Website.
Die Anwendung verwendet weiterhin die Datenbankzugänge, die in ihrer Konfiguration hinterlegt sind.
Bei WordPress ist dies normalerweise:
wp-config.php
Fehler nach Änderung des Datenbankpassworts #
Wenn du während der Migration das Passwort des Datenbankbenutzers geändert hast, muss das neue Passwort auch in der Anwendung hinterlegt werden.
Eine Änderung in cPanel aktualisiert die Konfigurationsdateien deiner Website nicht automatisch.
Import erfolgreich, aber Tabellen fehlen #
Wenn nur ein Teil der erwarteten Tabellen vorhanden ist, prüfe zuerst die ursprüngliche SQL-Datei und die Importmeldung.
Mögliche Ursachen sind:
- unvollständiger Export
- abgebrochener Import
- nur ausgewählte Tabellen wurden exportiert
- Fehler während des Imports
Gehe nicht allein anhand einer erwarteten Tabellenanzahl davon aus, dass Tabellen fehlen. Anwendungen und Plugins können unterschiedlich viele Tabellen verwenden.
WordPress-Präfix nicht mit fehlenden Tabellen verwechseln #
Bei WordPress müssen Tabellen nicht mit:
wp_
beginnen.
Eine Installation kann beispielsweise ein Präfix wie:
abc_
usare.
Prüfe deshalb die tatsächlichen Tabellennamen, bevor du annimmst, dass keine WordPress-Daten vorhanden sind.
Import überschreibt nicht automatisch alle alten Daten #
Ob vorhandene Tabellen beziehungsweise Datensätze ersetzt werden, hängt von den SQL-Anweisungen in der Importdatei ab.
Eine SQL-Datei kann beispielsweise:
- neue Tabellen erstellen
- Datensätze einfügen
- vorhandene Tabellen löschen und neu erstellen
- bestehende Daten verändern
Deshalb solltest du niemals davon ausgehen, dass jeder Import automatisch einen identischen Datenbankzustand erzeugt.
DROP TABLE in der SQL-Datei #
Enthält die Sicherung Anweisungen wie:
DROP TABLE ...
können vorhandene Tabellen vor ihrer Neuerstellung entfernt werden.
Das kann bei einer gezielten Wiederherstellung sinnvoll sein, ist bei einer falschen Zieldatenbank jedoch besonders gefährlich.
Attenzione: Die Auswahl der richtigen Zieldatenbank ist bei einer SQL-Datei mit
DROP-Anweisungen besonders wichtig.
INSERT-Fehler nach einem abgebrochenen Import #
Wenn ein erster Import bereits Datensätze eingefügt hat, kann ein zweiter Versuch an denselben Datensätzen scheitern.
Das ist ein weiterer Grund, warum ein fehlgeschlagener Import nicht einfach wiederholt werden sollte.
Fehler wegen Fremdschlüsseln #
Bestimmte Anwendungen verwenden Beziehungen zwischen Tabellen, die durch sogenannte Fremdschlüssel abgesichert werden können.
Wenn ein Import gegen solche Beziehungen verstößt, kann der Datenbankserver eine entsprechende Fehlermeldung ausgeben.
Deaktiviere solche Prüfungen nicht auf Verdacht. Sie können die Konsistenz zusammengehöriger Daten schützen.
SQL_MODE- oder Versionsunterschiede #
Eine SQL-Datei aus einer anderen Datenbankserver-Version kann Anweisungen oder Daten enthalten, die vom Zielsystem strenger oder anders verarbeitet werden.
Wenn die Fehlermeldung auf einen konkreten SQL-Modus, Datentyp oder ungültigen Wert hinweist, sollte die Kompatibilität zwischen Quell- und Zielumgebung geprüft werden.
Serverweite Datenbankeinstellungen sollten nicht allein zur Umgehung eines einzelnen Importfehlers verändert werden.
Import aus sehr alter Hosting-Umgebung #
Bei Datenbanken aus deutlich älteren Serverumgebungen können Kompatibilitätsunterschiede häufiger auftreten.
Questi possono includere, ad esempio:
- alte Zeichensätze
- abweichende Kollationen
- veraltete SQL-Syntax
- unterschiedliche Datenbankserver-Versionen
- alte Anwendungsstrukturen
In solchen Fällen ist die konkrete Fehlermeldung entscheidend für die weitere Vorgehensweise.
Import aus neuerer Datenbankserver-Version #
Auch der umgekehrte Fall kann problematisch sein: Eine SQL-Datei wurde auf einem System erzeugt, das Funktionen oder Kollationen unterstützt, die auf dem Zielsystem nicht vorhanden sind.
Prüfe deshalb bei Kompatibilitätsfehlern sowohl die Quell- als auch die Zielumgebung.
Nicht jede Fehlermeldung ist ein phpMyAdmin-Fehler #
phpMyAdmin ist die Oberfläche, über die du den Import startest. Viele angezeigte Fehlermeldungen stammen jedoch vom darunterliegenden Datenbankserver.
Ein Fehler während eines Imports bedeutet deshalb nicht automatisch, dass phpMyAdmin selbst defekt ist.
PHP-Limits und Datenbankfehler unterscheiden #
Ein Upload- oder Laufzeitlimit betrifft den technischen Importvorgang über die Weboberfläche.
Ein Fehler wie:
#1050 - La tabella esiste già
betrifft dagegen die Verarbeitung der SQL-Anweisungen innerhalb der Datenbank.
Eine Erhöhung eines PHP-Limits löst einen solchen SQL-Fehler nicht.
PHP-Einstellungen nicht für jeden Importfehler ändern #
Wenn tatsächlich ein Upload- oder Laufzeitlimit relevant ist, können PHP-Einstellungen eine Rolle spielen.
Wie PHP-Einstellungen in cPanel verwaltet werden, behandeln wir später unter Modificare le impostazioni PHP in cPanel.
Prüfe aber zuerst die konkrete Fehlermeldung. SQL-Syntax-, Tabellen- oder Berechtigungsfehler werden durch größere PHP-Limits nicht behoben.
Wann ein neuer sauberer Import sinnvoll sein kann #
Ein neuer Import in eine saubere Datenbank kann insbesondere dann sinnvoll sein, wenn:
- die Zieldatenbank ausschließlich für diese neue Migration erstellt wurde
- keine produktiven Daten darin vorhanden sind
- der vorherige Import nachweislich nur teilweise ausgeführt wurde
- die Ursache des Abbruchs behoben wurde
- eine vollständige Ausgangssicherung vorhanden ist
Bevor du Daten entfernst, müssen diese Voraussetzungen eindeutig geklärt sein.
Wann du die bestehende Datenbank nicht leeren solltest #
Leere beziehungsweise lösche eine Datenbank nicht, wenn:
- eine aktive Website sie verwendet
- du nicht sicher weißt, wem sie gehört
- neue produktive Daten darin entstanden sein könnten
- keine aktuelle Sicherung vorhanden ist
- du den bisherigen Importzustand noch nicht analysiert hast
Regola fondamentale: Unklarer Datenbankzustand bedeutet zuerst analysieren – nicht löschen.
Systematische Fehlersuche bei einem fehlgeschlagenen Import #
- Import nicht sofort erneut starten.
- Vollständige Fehlermeldung sichern.
- Richtige Zieldatenbank kontrollieren.
- Prüfen, ob bereits Tabellen importiert wurden.
- Größe und Format der SQL-Datei kontrollieren.
- Unterscheiden, ob ein Upload-, Laufzeit-, SQL-, Berechtigungs- oder Kompatibilitätsproblem vorliegt.
- Bei SQL-Fehlern Fehlernummer und betroffene Anweisung prüfen.
- Bei einer teilweise importierten Datenbank deren Zustand dokumentieren.
- Ursache beheben.
- Erst danach entscheiden, ob der Import fortgesetzt oder sauber neu begonnen wird.
Schnelle Einordnung typischer Fehler #
| Problema | Wahrscheinlicher Bereich |
|---|---|
| Datei lässt sich wegen Größe nicht hochladen | Upload-Limit |
| Import startet und bricht später ab | Laufzeit, Größe oder SQL-Fehler |
#1044 | Datenbankberechtigung / nicht erlaubte Datenbankoperation |
#1045 | Authentifizierung / Zugriff |
#1050 | Tabelle existiert bereits |
#1062 | Doppelter eindeutiger Wert |
#1064 | SQL-Syntax |
Unknown collation | Kompatibilität / Kollation |
| Falsche Umlaute oder Sonderzeichen | Zeichensatz / Export-Import-Kette |
| Website meldet Datenbankverbindungsfehler | Zugangsdaten / Benutzerzuweisung |
| Tabellen fehlen nach Import | Teilimport oder unvollständiger Export |
Vor einer Supportanfrage nichts „reparieren“ #
Wenn du die Ursache nicht eindeutig erkennst, ist es häufig besser, den aktuellen Zustand unverändert zu lassen.
Durch zusätzliche Lösch-, Import- oder SQL-Versuche können wichtige Hinweise auf die ursprüngliche Ursache verloren gehen.
Notiere beziehungsweise sichere deshalb zuerst die Fehlermeldung und den aktuellen Datenbankzustand.
Welche Informationen benötigt der Support? #
Per un'analisi mirata sono particolarmente utili le seguenti informazioni:
- dominio o applicazione interessati
- vollständiger Name der Zieldatenbank
- Größe der SQL-Datei
- Dateiformat beziehungsweise Komprimierung
- ob die Datenbank vor dem Import leer war
- ob bereits Tabellen importiert wurden
- genaue Fehlernummer
- testo di errore completo
- betroffene Tabelle, sofern angezeigt
- ob es sich um Migration oder Wiederherstellung handelt
- aus welcher Hosting- beziehungsweise Datenbankumgebung die Sicherung stammt, sofern bekannt
Ein Screenshot der Fehlermeldung kann zusätzlich hilfreich sein.
Sicurezza: Übermittle keine Datenbankpasswörter und stelle SQL-Sicherungen mit sensiblen Daten nicht öffentlich zum Download bereit.
Riepilogo #
Wenn ein phpMyAdmin-Import fehlschlägt, solltest du ihn nicht sofort erneut starten. Prüfe zuerst die vollständige Fehlermeldung und kontrolliere, ob die Zieldatenbank bereits teilweise importierte Tabellen oder Datensätze enthält.
Probleme vor dem eigentlichen Import deuten häufig auf Dateigröße, Upload oder Format hin. Bricht ein bereits laufender Import ab, können Laufzeitgrenzen, SQL-Fehler oder Kompatibilitätsprobleme eine Rolle spielen.
Fehler wie #1044, #1045, #1050, #1062 o #1064 weisen auf unterschiedliche Ursachen hin und sollten entsprechend der konkreten Meldung behandelt werden. Eine Erhöhung von PHP-Limits ist deshalb keine allgemeine Lösung für Datenbankfehler.
Besondere Vorsicht ist bei teilweise importierten Datenbanken erforderlich. Lösche bestehende Tabellen oder Datenbanken nur dann, wenn eindeutig feststeht, dass keine benötigten produktiven Daten betroffen sind und eine geeignete Sicherung vorhanden ist.
Die wichtigste Regel bei einem fehlgeschlagenen Import lautet deshalb: Fehlermeldung sichern, Datenbankzustand prüfen, Ursache bestimmen – und erst danach den nächsten Importversuch starten.