Wender: SQL Problem

Hallo!

Ich möchte einen SQL Datei von einem alten, auf einem neuen Server. Leider ist das nicht möglich, denn dann erscheint ein fehler-meldung:

Error
SQL-Anfrage:

-5
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5' at line 1

Was kann man bei solchen Situationen machen? Wenn ich als Text eingebe ins Phpmyadmin dann erscheint der selber Fehler.

Die Datei ist gesamt weniger als 2 048KB. Einzeln die Daten kann ich da irgendwie auch nicht hochladen. :(

Und es ist der selber MySQL Version wie beim alten: 4.1.10a.

Woran kann das liegen?

Gruß:
Wender

  1. Oder ich erhalte auch den folgenden Fehler:

    Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1 bytes) in /srv/www/htdocs/phpMyAdmin/libraries/read_dump.lib.php on line 173

    Was bedeutet das wieder?

    1. echo $begrüßung;

      Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1 bytes) in /srv/www/htdocs/phpMyAdmin/libraries/read_dump.lib.php on line 173

      Was bedeutet das wieder?

      So wie es geschrieben steht. Jedes PHP-Script darf nur eine bestimmte Menge Speicher verbrauchen. Dieses benötigt an der angegebenen Stelle mehr als erlaubt.

      Diese Einschränkung kann man gegebenenfalls wegkonfigurieren oder umgehen, wenn man die zu importierenden Daten in kleinere Häppchen aufteilt.

      echo "$verabschiedung $name";

      1. Ja, aber der Datei ist unter 2 MB, es müsste doch eigentlich gehen, oder?

        1. Hallo Freunde des gehobenen Forumsgenusses,

          Ja, aber der Datei ist unter 2 MB, es müsste doch eigentlich gehen, oder?

          Man kann das Memory-Limit auch auf 1MB setzen.
          Sind das deine Server / hast du SSH-Zugriff?
          Dann könntest du die Datenbanken mit mysqldump ex-
          und mit mysql importieren:

          Export:
          mysqldump -u [USER] -p --add-drop-table [DATENBANK] > example.sql

          Import:
          mysql -u [USER] -p < example.sql

          Gruß
          Alexander Brock

          --
          A
          1. Ja, ich habe drauf SSH zugriff.
            Das Memory Limit wurde von 8 MB auf 16 MB erhöht.

            Wollte dann den 1,8 MB Datei hochladen im PHPmyAdmin, aber dann kommt wieder:
            Fatal error: Allowed memory size of 8388608 bytes
            exhausted (tried to allocate 1928341 bytes) in
            /srv/www/htdocs/phpMyAdmin/libraries/read_dump.lib.php
            on line 91

            Diesen Datenbank kann ich auch nicht mehr verkleinern, da das schon eine Tabelle ist.

            Gruß:
            Wender

            1. Hallo Freunde des gehobenen Forumsgenusses,

              Ja, ich habe drauf SSH zugriff.
              Das Memory Limit wurde von 8 MB auf 16 MB erhöht.

              Fatal error: Allowed memory size of 8388608 bytes

              Offensichtlich wurde das Memory-Limit nicht erhöht.

              Diesen Datenbank kann ich auch nicht mehr verkleinern, da das schon eine Tabelle ist.

              Wenn du SSH-Zugriff hast, warum machst du es nicht bequem über selbigen?

              Gruß
              Alexander Brock

              --
              A
              1. Hallo!

                Also bei PHP Info findet man sowas:

                Memory_limit:
                Local Value: 16M
                Master Value: 8 M

                Sag mir nochmal den SSH-Befehl, womit ich das Problem beheben kann.
                (Erganze aber auch die Daten, wie ich das bei SSH ganz genau eingeben muss :) *Also jede Buchstabe-Wort*)

                1. Hallo Freunde des gehobenen Forumsgenusses,

                  Sag mir nochmal den SSH-Befehl, womit ich das Problem beheben kann.
                  (Erganze aber auch die Daten, wie ich das bei SSH ganz genau eingeben muss :) *Also jede Buchstabe-Wort*)

                  Was meinst du? Was ist daran nicht klar?

                  Export:
                  mysqldump -u [USER] -p --add-drop-table [DATENBANK] > example.sql

                  Import:
                  mysql -u [USER] -p < example.sql

                  Das einzige, was du verändern musst sind die Werte in eckigen Klammern,
                  [USER] ist der Name des Benutzers,
                  [DATENBANK] der Name der Datenbank, die exportiert werden soll.

                  Gruß
                  Alexander Brock

                  --
                  A
                  1. Danke, es hat geklappt!
                    *freu*

            2. echo $begrüßung;

              Das Memory Limit wurde von 8 MB auf 16 MB erhöht.

              Wollte dann den 1,8 MB Datei hochladen im PHPmyAdmin, aber dann kommt wieder:
              Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1928341 bytes) in

              Nach Ändern eine php.ini-Einstellung muss der Apache neu gestartet werden, wenn PHP als Modul läuft. Ansonsten solltest du dich mit phpinfo(INFO_CONFIGURATION) überzeugen, dass nach einer Konfigurationsänderung in der Spalte "Local Value" der gewünschte Wert angezeigt wird.

              echo "$verabschiedung $name";

  2. echo $begrüßung;

    Ich möchte einen SQL Datei von einem alten, auf einem neuen Server.

    Definiere "SQL-Datei". Wie wurde sie erzeugt, bzw. wie sieht ihr Inhalt aus? (Drei Zeilen vom Anfang sollten reichen.)

    Leider ist das nicht möglich, denn dann erscheint ein fehler-meldung:

    Wie versuchst du sie in den neuen Server einzulesen?

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5' at line 1

    Was kann man bei solchen Situationen machen? Wenn ich als Text eingebe ins Phpmyadmin dann erscheint der selber Fehler.

    Das Statement korrigieren, bzw. korrekte SQL-Statements exportieren, oder die zur verwendeten Export-Methode passende Import-Methode wählen.

    echo "$verabschiedung $name";

    1. Hallo!

      So schaut es aus am Anfang:
      CREATE TABLE php\_adview (
        adview\_id int(14) unsigned NOT NULL auto_increment,
        adview\_relation int(5) unsigned NOT NULL default '1',

      Host: localhost

      Erstellt am: 2006. Jan 04. 19:19

      Server Version: 4.0.15

      PHP Version: 4.3.6

      Der Inhalt ist aus einen Portal-Script, und das möchte ich zu einen anderen Server umziehen. Es ist das Betriebssystem: Linux Suse

      Ich habe 3 Möglichkeit versucht:
      1. Hab den ganzen SQL Datenbank durch Exportieren gemacht und dann durch Datei hochladen.
      2. Und die Tabellen einzeln hochzuladen.
      3. Als Text teilweise hochzuladen.

      1. echo $begrüßung;

        So schaut es aus am Anfang:

        Mit anderen Worten, du hast mit phpMyAdmin die Datenbank exportiert.

        Ich habe 3 Möglichkeit versucht:

        1. Hab den ganzen SQL Datenbank durch Exportieren gemacht und dann durch Datei hochladen.
        2. Und die Tabellen einzeln hochzuladen.
        3. Als Text teilweise hochzuladen.

        Und jedes Mal trat der gleiche Fehler auf?

        Da phpMyAdmin jeden Befehl einzeln zum Server senden muss, wird, wenn der Fehler nicht im ersten Statement auftritt, ein Teil der Befehle bereits in der Datenbank gelandet sein. Anhand dessen, was bereits in der DB eingetragen wurde, sollte sich das nächste Statement in der Import-Datei ermitteln lassen. Das müsste dann das sein, das den Fehler verursacht. Wenn du es nicht selbst korrigieren kannst, müsstest du es uns mal zeigen.

        Zum "memory size"-Problem:
        Durch dieses Auseinandernehmen in einzelne Befehle wird auch Speicher verbraucht. Aus der reinen Größe der Import-Datei kann man also nicht direkt auf den Speicherverbrauch des Scripts schließen.

        echo "$verabschiedung $name";