Angenommen, Sie können die Speichergröße nicht weiter erhöhen, dann gibt es einige Optionen.
Wenn Sie mit der Befehlszeile nicht vertraut sind und sich wirklich an einen GUI-Import halten möchten, können Sie BigDump ( http://www.ozerov.de/bigdump/ ) verwenden. Ich habe es einmal benutzt, aber es ist schon eine Weile her. Soweit ich mich erinnere, werden Sie eine Datei mit dem Namen bigdump.php (mit einigen Anweisungen) herunterladen und auf Ihrem Webserver in das Verzeichnis mit der MySQL-DB-Dump-Datei ablegen, die zu groß ist, um über PHPMYADMIN importiert zu werden. Navigieren Sie dann mit Ihrem Browser dorthin - etwa http://your-website.com/bigdump.php .
Wenn Sie mit der Befehlszeile vertraut sind und ein Linux-basiertes System verwenden, können Sie folgenden Code verwenden:
mysql -u BENUTZERNAME -p DATENBANKNAME <DATEINAME.sql
Die Datenbank und der Benutzer (mit Berechtigungen für die Datenbank) müssen jedoch vorhanden sein, bevor dieser Befehl ausgeführt werden kann. Hinweis Ich habe den obigen Befehl aus einer anderen Quelle kopiert. Ich mache immer meine Dumps und restauriere wie folgt: DUMP: mysqldump -u DB_USER -h DB_HOST -pDB_PASSWORD DB_NAME | gzip -9 > DB_NAME.sql.gz
RESTORE:gunzip < PATH_TO_DUMP/DB_NAME.sql.gz | mysql -u DB_USER -pDB_PASSWORD DB_NAME
- Schließlich und äußerst schmerzhaft können Sie einzelne Tabellen oder Gruppen von Tabellen in ausreichend kleine Speicherauszüge verschieben. Stellen Sie dann diese einzelnen Speicherauszüge einzeln über PHPMYADMIN wieder her.
FTP & RESTORE Anleitung:
Laden Sie FileZilla hier herunter: http://filezilla-project.org/download.php?type=client
Normalerweise können Sie einen FTP-Zugang zu Ihrem Server (insbesondere zu einem gemeinsam genutzten Host) herstellen, indem Sie dasselbe Login und Passwort verwenden, das Sie für SSH verwenden würden (Sie melden sich über die Befehlszeile an). Stellen Sie einfach sicher, dass die Verbindung zu Ihrem Server in FileZilla ordnungsgemäß eingerichtet ist.
Sobald die Verbindung hergestellt ist, ist Ihr Standardpfad wahrscheinlich Ihr $ HOME-Ordner (auf nix-Rechnern). Wenn Sie nicht vorhaben, viel FTP zu betreiben, speichern Sie einfach das, was Sie möchten. Sie können es jederzeit von der Befehlszeile aus verschieben.
Wenn Sie einen MySQL-Dump per FTP in Ihren $ HOME-Ordner übertragen, lautet der RESTORE-Befehl für eine Datenbank mit dem Namen mydb und eine Datenbank-Dump-Datei mit dem Namen mydb.sql.gz (im $ HOME-Ordner):
gunzip < $HOME/mydb.sql.gz | mysql -u DB_USER -pDB_PASSWORD mydb
Hier müssten Sie natürlich die Werte für DB_USER und DB_PASSWORD auf den Benutzer und das Kennwort ändern, die Sie für den DB eingerichtet haben.
Merken:
- Der DB muss bereits vorhanden (aber leer) sein, bevor der Befehl RESTORE ausgeführt wird
- Der DB_USER und das DB_PASSWORD müssen vor dem Befehl RESTORE für den DB eingerichtet werden (dies kann über die Registerkarte PHPMYADMIN - Berechtigungen erfolgen).
- Wenn Sie DB_USER in PHPMYADMIN einrichten, wird standardmäßig nur DB_USER der Zugriff auf die Datenbank von localhost (dem Server, auf dem die Datenbank gehostet wird) gestattet. Ich gehe davon aus, dass dies für Ihre Situation in Ordnung ist. Wenn Sie sich mit fortgeschritteneren DUMPs und RESTOREs befassen, möchten Sie dies möglicherweise von einem anderen Computer aus tun, der zwar nicht schwer ist, aber ein paar weitere Informationen und DB_USER mit den entsprechenden Berechtigungen erfordert.
FTPen Sie die DB und stellen Sie sie wieder her ... Schritt für Schritt
- Suchen Sie die komprimierte MySQL-Dump-Datei auf Ihrem Desktop (Beispiel: C: \ Web \ DB \ Dumps \ mydb.sql.zip).
- Laden Sie FileZilla herunter und installieren Sie es
- Gehen Sie in FileZilla zu File-> Site Manager und klicken Sie auf die Schaltfläche New Site (unterer linker Quadrant der GUI). Stellen Sie den Host auf eine Domain (Beispiel: dest.com) ein, die sich auf Ihrem DESTINATION-Server befindet. Stellen Sie das Protokoll auf FTP oder SFTP ein (dies hängt von Ihrem Hosting ab, fragen Sie sie). Legen Sie den Benutzer und das Kennwort fest (Beispiel: Benutzer = Erteilen, Kennwort = Erteilen des Kennworts) - Wenn das FTP-Protokoll SFTP ist, sollten alle gültigen SSH-Anmeldeinformationen funktionieren.
- (In FileZilla) Klicken Sie auf Verbinden (Schaltfläche ganz links unten).
- (In FileZilla) Sobald Sie mit dem Remote-Server verbunden sind (sollte Ihr ZIEL-Server sein), navigieren Sie über die linke Seite von FileZilla zu dem Verzeichnis, in dem sich die in Schritt 1 gespeicherte Sicherungsdatei befindet. (Der Pfad für den lokalen Computer befindet sich ganz links, etwa auf halber Strecke, und ist mit Lokaler Standort gekennzeichnet. In unserem Beispiel lautet das Textfeld neben Lokaler Standort C: \ Web \ DB \ Dumps.)
- (In FileZilla) Suchen Sie die Bezeichnung Remote site: direkt rechts neben Local Site :.
- (In FileZilla) Es gibt keinen technischen Grund, warum Sie den DB DUMP nicht in den Ordner legen können, in den FileZilla geöffnet wird. Es wird wahrscheinlich standardmäßig Ihr $ HOME-Verzeichnis sein. Wenn Sie keinen Grund haben, den DB-Dump in einem bestimmten Verzeichnis abzulegen, z. B. aus organisatorischen Gründen, lassen Sie den Pfad auf der Remote-Site in Ruhe. Notieren Sie sich diesen Pfad (Linux-Beispiel: / usr / grant).
- (In FileZilla) Suchen Sie die Datei auf Ihrem lokalen Computer in der linken Hälfte von FileZilla direkt unter dem unter der Bezeichnung Local site: in Schritt 5 angezeigten Baum. Doppelklicken Sie auf diese Datei, und FileZilla überträgt sie per FTP an Ihre Remote-Site.
- Erstellen Sie in PHPMYADMIN auf Ihrem DESTINATION-Server eine neue Datenbank (geben Sie mydb in das Textfeld Neue Datenbank erstellen ein und klicken Sie auf die Schaltfläche Erstellen).
- (In PHPMYADMIN) Wählen Sie links im Menü die Option mydb.
- (In PHPMYADMIN) Klicken Sie auf die Registerkarte Berechtigungen (oben rechts). Klicken Sie auf dieser Seite auf Neuen Benutzer hinzufügen.
- (In PHPMYADMIN-> Berechtigungen-> Neuen Benutzer hinzufügen) Geben Sie einen Benutzernamen (Beispiel: mydb_grant) und ein Kennwort (Beispiel: mydb_password) ein. Wählen Sie in der Dropdown-Liste Host die Option Lokal. Stellen Sie sicher, dass das Optionsfeld neben "Alle Berechtigungen für die Datenbank gewähren" ausgewählt ist. Klicken Sie dann auf Los (rechts unten auf dem Bildschirm).
- SSH in Ihren DESTINATION-Server.
- (In Ihrem SSH-Terminal) Navigieren Sie zu dem Verzeichnis, das Sie in Schritt 7 notiert haben. Verwenden Sie einen Befehl wie -
cd $HOME
oder cd /usr/grant
. (Auf Linux-Rechnern ist $ HOME eine Umgebungsvariable, die ungefähr / usr / grant entspricht.)
- (In Ihrem SSH-Terminal) Führen Sie den folgenden Befehl aus:
gunzip < /usr/grant/mydb.sql.gz | mysql -u mydb_grant -pmydb_password mydb
(Zwischen -p und dem Kennwort steht kein Leerzeichen, da dies der Fall sein muss und kein Tippfehler vorliegt.)
Sobald dieser letzte Befehl abgeschlossen ist, wurde Ihre DB WIEDERHERGESTELLT. Ich empfehle nicht, den DB-Benutzer und das Kennwort zu verwenden, die ich angegeben habe. Ersetzen Sie sie einfach durch Ihre eigenen, sichereren Optionen.
DUMP und RESTORE auf verschiedenen Servern ohne FTP
Wenn Sie das FTP-Material überspringen möchten und nichts dagegen haben, den DUMP zu wiederholen, können Sie dies folgendermaßen tun:
- Melden Sie sich beim DESTINATION-Server an (auf dem sich die Datenbank befinden soll - wir nennen sie destination.com).
- Erstellen Sie die DB, den Benutzer und die entsprechenden Berechtigungen wie oben erwähnt auf dem DESTINATION-Server
- Stellen Sie sicher, dass die Berechtigungen auf dem SOURCE-Server SOURCE_DB_USER den Remotezugriff auf die Datenbank ermöglichen - entweder Zugriff von dest.com oder von% (% - alle und überall, wenn sie den richtigen Benutzernamen und das richtige Kennwort haben).
- Führen Sie auf dem Server DESTINATION Folgendes aus:
mysqldump -u SOURCE_DB_USER -h source.com -pSOURCE_DB_PASSWORD mydb| gzip -9 > $HOME/mydb.sql.gz
Dabei ist source.com der SOURCE-Server (auf dem sich die Datenbank derzeit befindet).
- Führen Sie dann (auf dem ZIEL-Server) Folgendes aus:
gunzip < $HOME/mydb.sql.gz | mysql -u DEST_DB_USER -pDEST_DB_PASSWORD mydb
Das sollte alles sein, was Sie tun müssen, um die Datenbank von einem Server auf einen anderen zu verschieben. Die Einschränkung besteht darin, dass ich dies bisher nur auf meinem eigenen dedizierten Ubuntu (mit Standard-LAMP) und auf Dreamhosts VPS-Servern (von denen ich glaube, dass sie CentOS ausführen, aber ich könnte mich irren) getan habe.