WebWork Magazin - Design, Gestaltung, Online Medien, html

Webhosting Provider Domain

Home | Registrieren | Einloggen | Suchen | Aktuelles | Suleitec Webhosting



Im Homepage und Webhosting-Forum --- Problem -> Große Datenbanken füllen

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. FRagen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Problem -> Große Datenbanken füllen Antworten
Problem -> Große Datenbanken füllen
woyng
Pixelschubser
Threadstarter




Beiträge: 6
Mitglied seit 05.11.2009

Hallo allerseits!

ich hänge seit Tagen an folgendem Problem fest:

Ich muß eine Datenbank hochladen, die lokal bei mir liegt, also 1:1 kompieren.
Eine Tabelle davon hat ca. 1.2 Millionen Einträge, und alle mir bekannten Tools scheitern ... jedes auf seine eigene Art:

LoadData: ist deaktiviert.

phpMyAdmin: ist für so große Tabellen wohl nicht gebaut worden.

HeidiSQL:
Wenn ich die Funktion "Export SQL" und "Another Host, and optionally another Database" benutze, passiert folgendes:
Links (localhost) werden 5.000 Einträge ausgelesen, dann ganz kurz 2 Fenster "waiting for query to complete" und "waiting for remote session to execute query", dann werden rechts (remote host) die 5.000 Einträge geschrieben. Dann links wieder 5.000 Einträge gelesen...aber jetzt hängt sich alles auf, und die beiden kleinen Fensterchen stehen. Das eine fenster kann man canceln, beim anderen muß man den Prozeß manuell abschießen.
Resultat: 5.000 Einträge wurden geschrieben.

(Ich habe aber so die Vermutung, daß Heidi normalerweise anders reagieren sollte.)

Bei "Export SQL" und "File" schreibt localhost zwar brav immer 5.000 nacheinander in ein SQL-File, auch fortlaufend...aber das dauert ewig.

Wenn ich ein solches SQL-File (besteht aus lauter einzelnen INSERTs) dann mit dem remotehost einlesen will klappt das zwar...aber ich habe ausgerechnet, daß die ganze Tabelle 133 Stunden dauern würde...und man kann zwischendurch auch nicht runterfahren, weil er dann wieder von vorne beginnt!

MySQL-Front:
Habe ich gefunden und ausprobiert...das reagiert aber ganz genauso.

(Ja, und ich habe auch die Boardsuche und Google benutzt)
(System: Mozilla 3.54, Xampp unter Windows 2000)

Was tun?
Hat jemand von euch eine Idee?
Habe ich Heidi falsch benutzt? Muß man vielleicht was umkonfigurieren?
Oder gibt es ein viel besseres Tool?

Dankee!

  Profil   Editieren   Zitieren
Mondschatten
Quasselstrippe




Beiträge: 285
Mitglied seit 14.07.2002

Hallo woyng,

mal eine Frage: Welche Größe hat denn Dein Textfile mit den Daten? Bei 1,2 Millionen Einträgen und kompletten Inserts wird das sicher nicht wenig sein, Du wirst also ohnehin eine ganze Weile zum Upload brauchen. (1,2 Millionen Datensätze... lädst Du das Telefonbuch hoch?)

Ich würde die Daten in Happen teilen. Anders wird es möglicherweise nicht gelingen.

Viele Grüße
Mondschatten

  Profil   Editieren   Zitieren
woyng
Pixelschubser
Threadstarter




Beiträge: 6
Mitglied seit 05.11.2009

Hallo Mondschatten!

Welche Größe hat denn Dein Textfile mit den Daten? Bei 1,2 Millionen Einträgen und kompletten Inserts wird das sicher nicht wenig sein, Du wirst also ohnehin eine ganze Weile zum Upload brauchen.


Ich weiß. Deshalb würde ich das gerne automatisieren und verkürzen.

(1,2 Millionen Datensätze... lädst Du das Telefonbuch hoch?)


So ähnlich...Wagners Gesamtwerk in Hexadezimal.

Ich würde die Daten in Happen teilen. Anders wird es möglicherweise nicht gelingen.


Das ist aber auch wieder aufwendig und fehleranfällig. Bräuchte eine schlaue Maschine dafür.

Trotzdem vielen Dank!

Viele Grüße, Mondschatten


"Hell war der Mond, und die Nacht voll Schatten (Schatten)..."

  Profil   Editieren   Zitieren
Mondschatten
Quasselstrippe




Beiträge: 285
Mitglied seit 14.07.2002

Hallo woyng,

und wenn Du Dir diese "Maschine" selbst schreibst? Die Häppchen-txts auf den Server laden und dort von einem Script Stück für Stück einlesen lassen. Notfalls kannst Du das Script die erledigten Häppchen stets löschen lassen und von Hand oder Cron immer wieder neu anstubsen. Das ist sicher keine Premium-Lösung, aber wenn es eine einmalige Aktion ist, geht das vielleicht.

Viele Grüße
Mondschatten

  Profil   Editieren   Zitieren
woyng
Pixelschubser
Threadstarter




Beiträge: 6
Mitglied seit 05.11.2009

Hallo Mondschatten,

gute Idee, ja. Wenn es kein Tool gibt, was das kann, bleibt das die letzte Möglichkeit...

Thanks!

Diese Nachricht wurde geändert von: woyng
  Profil   Editieren   Zitieren
Rieke
Foren-Team





Beiträge: 1610
Mitglied seit 22.07.2001

woyng lade die SQL File einmal in den FTP Account und schick mir eine Mail mit folgenden Daten:

- Link zum File
- Name der Datenbank in die das File Importiert werden soll (DB vorher leeren)

Rieke

---
WebWork-Magazin.net - powered by Suleitec Webhosting

  Profil   E-Mail   Website   Editieren   Zitieren
woyng
Pixelschubser
Threadstarter




Beiträge: 6
Mitglied seit 05.11.2009

Ja, gerne
Ich bereite alles in den nächsten Tagen vor und schicke dir dann die Daten!

  Profil   Editieren   Zitieren
woyng
Pixelschubser
Threadstarter




Beiträge: 6
Mitglied seit 05.11.2009

Ich schon wieder :-]

Habe vielleicht eine Lösung gefunden, wie es auch ohne Hilfe von Suleitec geht!

Ich probiere es mal übers Wochenende aus, und wenn es geklappt hat schreibe ich hier die Lösung hin!

  Profil   Editieren   Zitieren
woyng
Pixelschubser
Threadstarter




Beiträge: 6
Mitglied seit 05.11.2009

OK, ausprobiert, geschafft...und hier die Lösung:

Da HeidiSQL bei mir beim SQL-Einlesen oder -Kopieren immer langsamer wird am Ende somit unbenutzbar wird, scheidet die Variante "Kopieren von Lokal-DB zu Remote-DB mit "2 Heidi-Fenstern" aus...das klappt wohl nur gut bei kleineren Tabellen, die hauptsächlich Zahlen beinhalten.

Was aber klappt ist:

1) SQL-Dump der gewünschten Tabelle lokal erstellen, entweder mit phpMyAdmin oder mit HeidiSQL
2.) Dabei "erweiterte Inserts" auswählen
3.) Den Dump mit Heidi in die Remote-DB einlesen
4.) Das wird zwar auch immer langsamer
5.) aber
6.) man kann den Heidi-Prozess beenden und wieder starten
7.) vorher nachsehen, wie weit sie gekommen ist (letzen Eintrag suchen)
8.) in der SQL-Datei genau diesen Eintrag finden ... der und alle INSERTs oberhalb kann/können gelöscht werden
9.) Neue, kleinere SQL-Datei speichern und wieder zurück zu 3.)
10.) Gehe nicht über LOS
11.) Ziehe nicht 4.000 Mark ein

Danke an alle!

Diese Nachricht wurde geändert von: woyng
  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Problem -> Große Datenbanken füllen

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Problem -> Große Datenbanken füllen AntwortenLetztes Posting
Wie baue ich ein smilie ein und lese den wieder aus aus der datenbank?
in "PHP & MySQL"
17 11.03.2010 11:40 von Rieke
Möchte mir gerne ein PHP Forum auf meine Webseite instalieren und bräuchte Hilfe!
in "PHP & MySQL"
24 04.03.2010 18:11 von Spark
Navigation gesucht
in "PHP & MySQL"
9 22.02.2010 11:51 von ted
PHP5, htaccess, Joomla
in "PHP & MySQL"
4 02.01.2010 00:39 von Rieke
Abrufen von Mails per Pop3 und dann in der Datenbank speichern.
in "PHP & MySQL"
22 25.12.2009 22:30 von raiserle
Dateien im FTP nach Test-Installation wieder löschen
in "PHP & MySQL"
1 26.11.2009 10:22 von Rieke
Problem -> Große Datenbanken füllen
in "PHP & MySQL"
8 16.11.2009 14:55 von woyng



Nach oben