Daten an Provider schicken funktioniert nicht

Daten an Provider schicken funktioniert nicht

am 27.12.2005 05:01:48 von Hans Winkler

Hallo zusammen!

Mein Provider ist 1 & 1 und dort sind meine Daten in einer MySQL-DB.
Leider bekomme ich es nicht mehr hin, dort ein update der Daten zu
hinterlegen. Ich arbeite unter Win XP.
Folgende Wege bin ich gegangen:

1) Dumpfile mit phpMyAdmin erzeugt und versucht diese SQL-Datei mittels
phpMyAdmin auf dem 1&1-Server zu installieren. Fehlanzeige

2) Dump mit MySQLdump erzeugt, per FTP zu 1&1 und dort mittels
PHP-Script zu entpacken versucht. Ebenfalls Fehlanzeige, weitgehend,
denn der Befehl "Drop Table if exist" wurde ausgeführt. weitere
Hinweise, was auf dem Server fehlgeschlagen ist, habe ich leder nicht.

Bei 1&1 werden keine Collationen akzeptiert. Daher habe ich die
betreffenden Abschnitte im Dumpfile gelöscht.

Nächster Schritt war, nur die Tabellendefinition zu senden, ohne Daten.
Teilweise Fehlanzeige, denn phpAdmin meldete Fehler und bot die
Möglichkeit, einen Schritt zurück zu gehen. Dort wurde dann der
SQL-Befehl, der die Tabelle erzeugt, nochmals angezeigt. Ein passendes
OK gedrückt und jetzt wurde wenigstens die Tabelle erzeugt.

Meine Fragen: Hat jemand ähnliches erlebt und kann sich in diese blöde
Situation eindenken?
wie sieht das Ergebnis aus, wenn es Probleme mit der Codepage geben
würde (latin1/utf8). Würden dann die Sonderzeichen falsch angezeigt oder
die Werte überhaupt nicht eingetragen werden (kein Insert)?
Kann mir jemand einen Provider empfehlen, zu dem ich ggf mit Homepage
und Database umziehen kann und der vor allem an der Lösung eines solchen
Problems interessiert ist?

Hans

Re: Daten an Provider schicken funktioniert nicht

am 27.12.2005 09:54:21 von Dirk Brosowski

Hans Winkler schrieb:

> Kann mir jemand einen Provider empfehlen, zu dem ich ggf mit Homepage
> und Database umziehen kann und der vor allem an der Lösung eines solchen
> Problems interessiert ist?


Da du keine Fehlermeldungen hast, PHPMyAdmin hier Off-Topic ist, du uns
auch die MySQL-Version unterschlägst (wahrscheinlich 4.0.x), uns ebenso
unterschlägst von welcher Version dein Dump kommt, und wie du diesen
erzeugt hast und letztlich ist dann auch meine Glaskugel im
Weihnachtsurlaub gehe ich mal direkt zur letzten Frage:

Besorge dir irgendwo einen vServer auf dem du SSH-Zugang hast, lerne
etwas Linux und mache das dann selber. Strato oder Server4you nenne ich
dir mal. Das ist aus meiner Sicht die beste Lösung.

Grüße

Dirk

Re: Daten an Provider schicken funktioniert nicht

am 27.12.2005 10:03:46 von Kai Ruhnau

Hans Winkler wrote:
> Hallo zusammen!
>
> Mein Provider ist 1 & 1 und dort sind meine Daten in einer MySQL-DB.
> Leider bekomme ich es nicht mehr hin, dort ein update der Daten zu
> hinterlegen. Ich arbeite unter Win XP.
> Folgende Wege bin ich gegangen:
>
> 1) Dumpfile mit phpMyAdmin erzeugt und versucht diese SQL-Datei mittels
> phpMyAdmin auf dem 1&1-Server zu installieren. Fehlanzeige
>
> 2) Dump mit MySQLdump erzeugt, per FTP zu 1&1 und dort mittels
> PHP-Script zu entpacken versucht. Ebenfalls Fehlanzeige, weitgehend,
> denn der Befehl "Drop Table if exist" wurde ausgeführt. weitere
> Hinweise, was auf dem Server fehlgeschlagen ist, habe ich leder nicht.
>
> Bei 1&1 werden keine Collationen akzeptiert. Daher habe ich die
> betreffenden Abschnitte im Dumpfile gelöscht.
>
> Nächster Schritt war, nur die Tabellendefinition zu senden, ohne Daten.
> Teilweise Fehlanzeige, denn phpAdmin meldete Fehler und bot die
> Möglichkeit, einen Schritt zurück zu gehen. Dort wurde dann der
> SQL-Befehl, der die Tabelle erzeugt, nochmals angezeigt. Ein passendes
> OK gedrückt und jetzt wurde wenigstens die Tabelle erzeugt.
>
> Meine Fragen: Hat jemand ähnliches erlebt und kann sich in diese blöde
> Situation eindenken?
> wie sieht das Ergebnis aus, wenn es Probleme mit der Codepage geben
> würde (latin1/utf8). Würden dann die Sonderzeichen falsch angezeigt oder
> die Werte überhaupt nicht eingetragen werden (kein Insert)?
> Kann mir jemand einen Provider empfehlen, zu dem ich ggf mit Homepage
> und Database umziehen kann und der vor allem an der Lösung eines solchen
> Problems interessiert ist?

Zunächst einmal folgendes:

"Geht nicht", "Fehlanzeige" oder "teilweise Fehlanzeige" sind nicht im
entferntesten Fehlerbeschreibungen, sondern Prosa, die die normalerwiese
im Handel erhältlichen Glaskugeln bestenfalls mit undurchsichtigem Nebel
füllen.

Aber ich versuch mal mein Glück:


Vergiss phpMyAdmin


Beinahe jeder, der hier mit Problemen aufgeschlagen ist und dieses
"Tool" (Gibt es eigentlich ein UTF-8-Zeichen, das besonders große
Anführungsstriche macht?) erwähnt hat, hatte ausschließlich phpMyAdmin
eigene Probleme, keine echten MySQL-Probleme.

Da du selber unter Windows XP arbeitest, verstehen ich und meine
Glaskugel es hoffentlich richtig, dass du lokal irgendeine Version von
MySQL installiert hast, die zumindest Collations versteht (MySQL>=4.1).
Wenn dein 1&1-Server das nicht versteht, wird es wohl irgendeine
kleinere Version (<=4.0) sein.

Zwischen 4.0 und 4.1 hat sich diverses geändert. Nicht nur das Verstehen
von Charactersets und Collations, sondern auch einige syntaktische
Änderungen sind hinzugekommen. Unteranderem wurde bei CREATE TABLE das
abschließende TYPE=... in ein ENGINE=... umgetauft. Aber das nur am Rande.

Zunächst benutzt du bitte bei dir lokal nicht mehr phpMyAdmin, sondern
das bei MySQL mitgelieferte Kommandozeilenprogramm "mysqldump".
mysqldump --help und das Handbuch unter dev.mysql.com erklären dir,
wofür welche Parameter sind.

Für dich dürfte folgender Parameter interessant sein
--compatible=name
Wobei du bei Name die Ziel-Mysql-Version einsetzt, so wie es mysqldump
fordert.

Diesen Dump spielst du folgendermaßen ein; absteigend sortiert nach den
Möglichkeiten, die sich dir bieten:

Von dir lokal ausgehend:
mysql -h datenbankhost.1und1.de -u user -p datenbank < dumpfile.sql

Per ssh auf dem Server, nachdem du den Dump dorthin gebracht hast:
mysql -h datenbankhost.1und1.de -u user -p datenbank < dumpfile.sql

Und wenn du zu beiden Varianten keine Möglichkeit hast, dann aber nur
dann benutzt du das "SQL"-Feld von phpMyAdmin.

Wenn das nichts mit einer Lösung zu tun hat, dann beschreibe bitte mit
exakten (Copy+Paste) Fehlermeldungen von MySQL (und wenn es ungedingt
sein muss, auch von phpMyAdmin), was passiert ist.

HTH und Grüße
Kai

Re: Daten an Provider schicken funktioniert nicht

am 27.12.2005 11:44:13 von Hans Winkler

> Zwischen 4.0 und 4.1 hat sich diverses geändert. Nicht nur das Verstehen
> von Charactersets und Collations, sondern auch einige syntaktische
> Änderungen sind hinzugekommen. Unteranderem wurde bei CREATE TABLE das
> abschließende TYPE=... in ein ENGINE=... umgetauft. Aber das nur am Rande.
>
> Zunächst benutzt du bitte bei dir lokal nicht mehr phpMyAdmin, sondern
> das bei MySQL mitgelieferte Kommandozeilenprogramm "mysqldump".
> mysqldump --help und das Handbuch unter dev.mysql.com erklären dir,
> wofür welche Parameter sind.
>
> Für dich dürfte folgender Parameter interessant sein
> --compatible=name
> Wobei du bei Name die Ziel-Mysql-Version einsetzt, so wie es mysqldump
> fordert.
>
> Diesen Dump spielst du folgendermaßen ein; absteigend sortiert nach den
> Möglichkeiten, die sich dir bieten:
>
> Von dir lokal ausgehend:
> mysql -h datenbankhost.1und1.de -u user -p datenbank < dumpfile.sql
>
> Per ssh auf dem Server, nachdem du den Dump dorthin gebracht hast:
> mysql -h datenbankhost.1und1.de -u user -p datenbank < dumpfile.sql
>
> Und wenn du zu beiden Varianten keine Möglichkeit hast, dann aber nur
> dann benutzt du das "SQL"-Feld von phpMyAdmin.

Hallo Kai,

Dank für die Antwort.

MySQL hat bei 1&1 die Version 4.0.25 und bei mir 4.1.14 -nt. Der Dump
wurde mit 10.9 erzeugt.

Mit SSH habe ich keinerlei Erfahrung, daher der Versuch, den Dump auf
dem 1&1-Server mittels php-Skript zu entblättern.
Allerdings bietet 1&1 auch die Möglichkeit, SSH einzusetzen. Muß ich
heute Abend mal dran gehen.

Fürs Erste herzlichen, melde mich wieder, wenn ich den Empfehlungen
gefolgt bin.

Hans

Re: Daten an Provider schicken funktioniert nicht

am 27.12.2005 18:35:06 von Hans Winkler

>> Nächster Schritt war, nur die Tabellendefinition zu senden, ohne
>> Daten. Teilweise Fehlanzeige, denn phpAdmin meldete Fehler und bot die
>> Möglichkeit, einen Schritt zurück zu gehen. Dort wurde dann der
>> SQL-Befehl, der die Tabelle erzeugt, nochmals angezeigt. Ein passendes
>> OK gedrückt und jetzt wurde wenigstens die Tabelle erzeugt.
>
> Da du selber unter Windows XP arbeitest, verstehen ich und meine
> Glaskugel es hoffentlich richtig, dass du lokal irgendeine Version von
> MySQL installiert hast, die zumindest Collations versteht (MySQL>=4.1).
> Wenn dein 1&1-Server das nicht versteht, wird es wohl irgendeine
> kleinere Version (<=4.0) sein.
>
> Zwischen 4.0 und 4.1 hat sich diverses geändert. Nicht nur das Verstehen
> von Charactersets und Collations, sondern auch einige syntaktische
> Änderungen sind hinzugekommen. Unteranderem wurde bei CREATE TABLE das
> abschließende TYPE=... in ein ENGINE=... umgetauft. Aber das nur am Rande.

Type/Engine wurde berücksichtigt

> Zunächst benutzt du bitte bei dir lokal nicht mehr phpMyAdmin, sondern
> das bei MySQL mitgelieferte Kommandozeilenprogramm "mysqldump".
> mysqldump --help und das Handbuch unter dev.mysql.com erklären dir,
> wofür welche Parameter sind.

Es ist mir bewußt, das hier die meisten bei phpAdmin die Nase rümpfen
und ich will dafür bestimmt keine Lanze brechen sondern einfach nur
verstehen, was schief läuft.

Die Dumpfiles von MySQLDump und phpAdmin habe ich mir angesehen.
PHPMyAdmin schreibt die SQL-Befehle Create Table und Insert und ich sehe
nicht so ganz, was daran falsch ist.

MySQL dagegen hat noch einige klärende Worte an den Anfang des Files
bezüglich Chrset, Collation etc. Dann folgen die gleichen Befehle wie
bei PHPMyAdmin.

Wie schon geschrieben, verwendet 1&1 die Version 4.0.25, Strato nach
eigenen Angaben 4.0.17 und Server4you 4.0.18. All diese können mit
Collation nichts anfangen, daher habe ich diesen Teil aus Create Table
gestrichen.

Merkwürdig erscheint mir das im ersten Absatz geschilderte Verhalten,
erst Ablehnung durch den Server, dann aber durchlaufen von Create Table.

Jedenfalls bin ich nach wie vor Ratlos. Auch erscheint mir der Hinweis
auf SSH nur insofern relevant, als es eine andere Art der
Datenübertragung ist. Wenn die Serverversion mit den Befehlen "Collate"
etc nichts anzufangen weiß, stehe ich auch im Regen oder irre ich mich
bei der Funktionsweise von SSH?

Hans

Re: Daten an Provider schicken funktioniert nicht

am 27.12.2005 18:38:29 von Hans Winkler

Dirk Brosowski schrieb:
> Hans Winkler schrieb:
>
>> Kann mir jemand einen Provider empfehlen, zu dem ich ggf mit Homepage
>> und Database umziehen kann und der vor allem an der Lösung eines
>> solchen Problems interessiert ist?
>
> Da du keine Fehlermeldungen hast, PHPMyAdmin hier Off-Topic ist, du uns
> auch die MySQL-Version unterschlägst (wahrscheinlich 4.0.x), uns ebenso
> unterschlägst von welcher Version dein Dump kommt, und wie du diesen
> erzeugt hast und letztlich ist dann auch meine Glaskugel im
> Weihnachtsurlaub gehe ich mal direkt zur letzten Frage:
>
> Besorge dir irgendwo einen vServer auf dem du SSH-Zugang hast, lerne
> etwas Linux und mache das dann selber. Strato oder Server4you nenne ich
> dir mal. Das ist aus meiner Sicht die beste Lösung.

Hallo Dirk, auch Dir Dank für die Hinweise.

Mein Dump hat die Versionsnummer 10.9.
Die aktuellen MySQL- Versionen von sind
1&1 = 4.0.25
Strato = 4.0.17
Server4You = 4.0.18

Demnach ist die 1&1er noch das frischste Modell.

Hans

Re: Daten an Provider schicken funktioniert nicht

am 27.12.2005 18:46:32 von Dirk Brosowski

Hans Winkler schrieb:
> Dirk Brosowski schrieb:
>
>> Hans Winkler schrieb:
>>
>>> Kann mir jemand einen Provider empfehlen, zu dem ich ggf mit Homepage
>>> und Database umziehen kann und der vor allem an der Lösung eines
>>> solchen Problems interessiert ist?
>>
>>
>> Da du keine Fehlermeldungen hast, PHPMyAdmin hier Off-Topic ist, du
>> uns auch die MySQL-Version unterschlägst (wahrscheinlich 4.0.x), uns
>> ebenso unterschlägst von welcher Version dein Dump kommt, und wie du
>> diesen erzeugt hast und letztlich ist dann auch meine Glaskugel im
>> Weihnachtsurlaub gehe ich mal direkt zur letzten Frage:
>>
>> Besorge dir irgendwo einen vServer auf dem du SSH-Zugang hast, lerne
>> etwas Linux und mache das dann selber. Strato oder Server4you nenne
>> ich dir mal. Das ist aus meiner Sicht die beste Lösung.
>
>
> Hallo Dirk, auch Dir Dank für die Hinweise.
>
> Mein Dump hat die Versionsnummer 10.9.

Häh? Ein Dump hat höchstens eine von dir vergebene Versionsnummer, 10.9
ist aber wohl eher die V-Nummer des Programmes mit welchem du den Dump
erstellt hast, und dann müsstest du dieses Programm auch angeben.

> Die aktuellen MySQL- Versionen von sind
> 1&1 = 4.0.25
> Strato = 4.0.17
> Server4You = 4.0.18
>
> Demnach ist die 1&1er noch das frischste Modell.


Egal, besorge dir den Server mit root-Rechten, am besten mit
Debian-Linux komplett konfiguriert. Dann das Debiananwenderhandbuch
lesen und dann die mysql updaten. Ist nicht wirklich schwer und wer will
kommt da auch recht schnell rein. Ausreichend IT-Kenntnisse hast du vom
Gefühl.

Grüße

Dirk

Re: Daten an Provider schicken funktioniert nicht

am 28.12.2005 20:46:11 von Markus Mann

Hans Winkler wrote:
>
> Jedenfalls bin ich nach wie vor Ratlos. Auch erscheint mir der Hinweis
> auf SSH nur insofern relevant, als es eine andere Art der
> Datenübertragung ist.

Nun, es ging wohl weniger um die Datenübertragung, sondern darum, dass
du mit einer Shell die Kommandozeilen-Tools von MySQL verwenden kannst
und man nicht wieder mühselig einem Fehler von phpMyAdmin hinterherjagt.

> Wenn die Serverversion mit den Befehlen "Collate"
> etc nichts anzufangen weiß, stehe ich auch im Regen oder irre ich mich
> bei der Funktionsweise von SSH?

Nein. SSH hat damit gar nichts zu tun. Aber IIRC kann man mysqldump
einen Schalter mitgeben, dass der Dump zu älteren MySQL-Versionen
kompatibel wird und den gibt es bei phpMyAdmin wohl nicht.

Ciao.
--
Markus Mann
];-)