# Datenbank import bei 1&1



## LL0rd (15. Juli 2008)

Hallo Leute,

ich stehe gerade ziemlich auf dem Schlauch. Für einen Kunden sollte ich eine Website duplizieren damit aus seiner deutschen Websie eine englische wird. Standard vorgehen: Daten per FTP runterladen und wieder hochladen. Datenbank exportieren und wieder importieren. Eigentlich nichts besonderes. Nur habe ich irgendwie ein Problem damit, die Datenbank Daten zu importieren. Der Server bricht bei mir den Import immer ab und meldet 500 Internal Server Error. Das passiert nach fast genau 30sec, nachdem ich den Upload / Import gestartet habe. Da die Datei knapp über 2 MB groß ist, dauert der Upload dieser schon alleine fast 30 sek. Nach dem Abbruch sehe ich dann, dass 8-15 (ich habe es mehrmals ausprobiert) Tabellen angelegt wurden. Der Fehler und die Dauer deuten mir auf die maximum execution time von php. Tja, die Frage ist nun, wie ich den Fehler wegbekommen kann. Normalerweise bin ich es gewöhnt, auf meinen eigenen Servern zu arbeiten, wo ich solche Imports direkt an der Konsole machen kann.

Ich habe mir momentan zwar damit geholfen, dass ich den Datenbank Dump in zwei Dateien zu je 1MB geteilt habe, aber ich wäre da schon an einer dauerhaften / allgemeinen Lösung interessiert


----------



## Gumbo (15. Juli 2008)

Wie ex- und importierst du die Datenbank?


----------



## LL0rd (15. Juli 2008)

oh, habe ich vergessen zu schreiben.

Ich weiß, dass es im 1&1 Kundencenter einen phpMyAdmin gibt. Aber die Daten habe ich leider nicht. Deshalb musste ich mir eine "eigene" phpMyAdmin Kopie auf dem Space anlegen. Deshalb exportiere und importiere ich eben mit phpMyAdmin.

Normalerweise würde ich das ja mit Navicat machen, aber da ich keinen direkten Zugriff auf die Datenbank habe, geht das ja leider nicht.


----------



## Gumbo (15. Juli 2008)

MySQL bietet bereits Export- und Import-Funktionen.


----------



## LL0rd (15. Juli 2008)

Gumbo hat gesagt.:


> MySQL bietet bereits Export- und Import-Funktionen.



Ja, aber dazu müsste ich erstmal den direkten Zugriff auf den SQL Server haben. Aber bei 1&1 ist es nicht möglich.


----------



## Gumbo (15. Juli 2008)

Das ist nicht unbedingt notwendig:





			
				http://dev.mysql.com/doc/refman/5.1/de/backup.html hat gesagt.:
			
		

> Um eine Tabelle auf SQL-Ebene zu sichern, können Sie SELECT INTO ... OUTFILE verwenden.


----------



## LL0rd (15. Juli 2008)

```
SELECT * INTO OUTFILE 'file_name' FROM tbl_name.
```

Nur was gebe ich denn als file_name ein


----------



## Flex (15. Juli 2008)

LL0rd hat gesagt.:


> ```
> SELECT * INTO OUTFILE 'file_name' FROM tbl_name.
> ```
> 
> Nur was gebe ich denn als file_name ein



Am besten einen Dateinamen... Oder?

Man könnte ja auch einfach mal auf einem Entwicklungsserver rumprobieren, statt sich alles vorkauen zu lassen...?


----------



## LL0rd (15. Juli 2008)

Felix Jacobi hat gesagt.:


> Am besten einen Dateinamen... Oder?
> 
> Man könnte ja auch einfach mal auf einem Entwicklungsserver rumprobieren, statt sich alles vorkauen zu lassen...?



Wie ich bereits gesagt habe, ich habe keinen Zugriff auf den Datenbank Server. Somit kann ich auch keine Dateien hochladen und auch keinen Dateinamen angeben.


----------



## Gumbo (15. Juli 2008)

Ich dachte du hättest Zugriff auf phpMyAdmin?


----------



## LL0rd (15. Juli 2008)

Ich habe per FTP den Zugriff auf den Fileserver. Dort habe ich phpMyAdmin installiert. Die Datenbank liegt aber auf dem Datenbank Server. Und dort kann ich keine Dateien hochladen, um den Import starten zu können. Und phpMyAdmin nützt mir da herzlich wenig.


----------



## Radhad (15. Juli 2008)

Vielleicht klappt der Import besser über den MySQL Administrator statt über phpMyAdmin? Dann gibt es nicht diese Probleme mit der max_executiontime.


----------



## LL0rd (15. Juli 2008)

Ja, nur für den MySQL Administrator müsst ich den direkten Zugriff auf den Datenbank Server haben. Den habe ich aber nicht...


----------



## Gumbo (15. Juli 2008)

Und wie hast du dann phpMyAdmin nutzen können wenn du keinen Zugang auf den Datenbankserver hast?


----------



## LL0rd (15. Juli 2008)

Gumbo hat gesagt.:


> Und wie hast du dann phpMyAdmin nutzen können wenn du keinen Zugang auf den Datenbankserver hast?





LL0rd hat gesagt.:


> Ja, nur für den MySQL Administrator müsst ich den* direkten Zugriff *auf den Datenbank Server haben. Den habe ich aber nicht...



Ich habe keinen direkten Zugriff. Um MySQL Administrator oder irgendwelche anderen Tools nutzen zu können, muss ich eine direkte Verbindung zum MySQL Server herstellen können. Das ist aber nicht möglich, wie ich bereits 10 Mal in diesem Thread bereits geschrieben habe. Die Datenbank Server sind außerhalb des Rechenzentrums nicht erreichbar Dementsprechend kann ich auch keine direkte Verbindung zum MySQL Server aufbauen. phpMyAdmin funktioniert deshalb, weil die Dateien auf dem Space des Rechenzentrums liegen. Von dort aus habe ich den Zugriff auf die Datenbank. 



Felix Jacobi hat gesagt.:


> Man könnte ja auch einfach mal auf einem Entwicklungsserver rumprobieren, statt sich alles vorkauen zu lassen...?



Anscheinend hast du meinen ersten Beitrag nicht durchgelesen, wie einige andere hier auch! Ich habe das Problem bereits gelöst, in dem ich den Dump in zwei Stücken hochgeladen habe. Und was soll ich denn bitte deiner Meinung nach auf einem Entwicklungsserver ausprobieren? Sachen, bei denen ich ich weiß, dass die *nicht* funktionieren?


----------



## Radhad (15. Juli 2008)

Dann gibt's 2 Möglichkeiten:

1. Die sollen dir einen USer für die DB einrichten, damit du den Verwaltungskram machen kannst.

2. Die spielen das Backup selber ein.


Alles andere ist totaler Humbug!


----------



## Flex (15. Juli 2008)

Heißt das, dass der MySQL Server physisch getrennt ist von deinem Webserver?


----------



## Dunas (15. Juli 2008)

Felix Jacobi hat gesagt.:


> Heißt das, dass der MySQL Server physisch getrennt ist von deinem Webserver?



genau das soll es heißen


```
LOAD DATA INFILE Dateiname INTO TABLE
```
Schau dir mal das Manual von MySQL dazu an. Ich glaube du kannst auch einen ftp link als Dateinamen angeben, dafür müsstest du aber noch LOCAL in den Befehl einbauen


----------

