Fehlermeldung mit mysql-Wiederherstellung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlermeldung mit mysql-Wiederherstellung

    Hallo,

    ich habe nun mit mysqldump meine DB in die Datei backup.sql gesichert, diese Datei liegt nun auf dem Server beim provider. Nun möchte ich die Datei in meine lokale DB bringen mit dem Befehl mysql, wie folgt:
    mysql -u Benutzername -h localhost dbname < backup.sql;

    aber da bekomme ich folgende Fehlermeldung:
    error2002: can't connect to local MYSQL-Server through socket '/tmp/mysqld.sock' (111)

    weiß jemand was da falsch läuft?

  • #2
    Läuft am lokalen Rechner der MySQL-Dienst?
    Ist der Benutzername im lokalen MySQL angelegt?

    Hast Du eine PersonalFirewall am lokalen Rechner installiert, der unter Umständen blockt?

    Gelingt es Dir in diesem Zustand mit "mysql -u username" oder vielleicht nur mit "mysql" im DOS-Fenster die MySQL-Shell aufzurufen?

    Kannst Du über Apache/PHP auf die Datenbank zugreifen?

    Am Rande: Der Befehl müßte ohne localhost auch funktionieren
    mysql -u Benutzername dbname < backup.sql;

    Kommentar


    • #3
      für diesen Fehler habe ich nun die Lösung gefunden, ich habe die Befehlszeile in der mysql-shell eingegeben, und das war falsch, (Mein mysql-Verzeichnis ist : c:\mysql)
      wenn ich nun im Verzeichnis c:\mysql\bin folgden Befehlszeile eingebe:
      mysql -u root -p dbname<backup.sql;
      bekomme ich die Fehlermeldung "Error 1049: Unknown database 'dbname;'"
      Wo ich noch nicht so ganz klar komme: wo muß denn die Datei backup.sql liegen, um beim obigen mysql -u ... Befehl gefunden zu werden? Mein root-Verzeichnis ist d:\apache\htdocs, und meine Datenbank ist unter c:\mysql\data\dbname
      Habe versucht mich an phpmyadmin -Skripte zu halten, denn über phphmyadmin funktionieren kleine sql-Dateien, über welches Skript erledigt denn phpmyadmin die Wiederherstellung über mysql?

      Gruß Ralf

      PS: der MySql-Dienst läuft, Benuztername habe nicht angelegt, einen Firewall habe ich nicht,

      Kommentar


      • #4
        backup.sql muß sich so, so wie Du es angibst,in jenem verzeichnis befinden indem Du gerade stehst
        mysql -u root -p dbname < backup.sql;

        Ansonsten kannst mußt Du den Pfad mitgeben.

        "Error 1049: Unknown database 'dbname;'" deutet aber darauf hin, daß der Datenbankname nicht korrekt ist.

        Um ganz sicher zu gehen kannst Du folgendes machen. schreibst zu beginn Deiner backup.sql:

        drop database dbname;
        create database dbname;
        use dbname;

        drop und create für den Fall, daß die DB existiert. Existiert die DB kannst Du die beiden Zeilen weglassen und mit use dbname beginnen. Dann könntest Du den Import mit
        mysql -u root -p < backup.sql;
        aufrufen.

        Kommentar


        • #5
          das scheint ja ziemlich verzwickt zu sein,

          ich habe nun nachfolgende Datei 'backup.sql' verändert (siehe unten), die Datei befindet sich im Verzeichnis c:\mysql\bin (also nicht im root-Verzeichnis des Apache-Servers unter d:\apache\htdocs) .
          Wenn ich nun über Dos -Monitor gehe mit "mysql -u root -p<backup.sql;" dann bekomme ich folgende Meldung:
          error 1045:Access denies for user: 'root@localhost' (using password :YES)


          DROP DATABASE IF EXISTS backup;
          CREATE DATABASE backup;
          USE DATABASE backup;

          DROP TABLE IF EXISTS zentral;
          CREATE TABLE zentral (
          VNr int(12) NOT NULL auto_increment,
          VDatum date DEFAULT '0000-00-00' NOT NULL,
          KdNr int(12) DEFAULT '0' NOT NULL,
          ObjNr varchar(12) DEFAULT '0' NOT NULL,
          erledigt varchar(15) NOT NULL,
          RKZ varchar(25) NOT NULL,
          PRIMARY KEY (VNr),
          KEY VNr (VNr)
          );

          #
          # Dumping data for table 'zentral'
          #

          INSERT INTO zentral VALUES ( '1', '2001-10-16', '1121', '138-bm-ru', 'nein', '746');
          INSERT INTO zentral VALUES ( '2', '2001-10-18', '1116', '531-bs-ko', 'nein', '746');
          INSERT INTO zentral VALUES ( '3', '2001-10-19', '890', '101-bs-ra', 'nein', '746');
          INSERT INTO zentral VALUES ( '4', '2001-10-25', '1146', '000-00-00', 'nein', '746');
          INSERT INTO zentral VALUES ( '5', '2001-11-02', '1170', '147-bs-ku', 'nein', '746');
          INSERT INTO zentral VALUES ( '6', '2001-11-02', '1170', '150-bs-ku', 'nein', '746');
          INSERT INTO zentral VALUES ( '7', '2001-11-02', '1170', '152-bh-do', 'nein', '746');
          INSERT INTO zentral VALUES ( '8', '2001-11-02', '1170', '149-bw-sc', 'nein', '746');
          INSERT INTO zentral VALUES ( '9', '2001-11-02', '1172', '114-bh-ni', 'nein', '746');
          INSERT INTO zentral VALUES ( '11', '2001-11-12', '499', '149-bw-sc', 'nein', '746');
          INSERT INTO zentral VALUES ( '13', '2001-12-25', '1', '1111-aa-aa', 'nein', '746');
          INSERT INTO zentral VALUES ( '15', '2001-12-28', '1', '1111-aa-aa', 'nein', '746');

          Kommentar


          • #6
            Access denied for user: 'root@localhost' (using password :YES)

            Das bedeutet, daß der User root von localhost aus mit dem eingegeben Passwort kein Zugangsrecht auf die Datenbank hat, backup.sql wurde noch gar nicht exekutiert.

            Wurde die PWD-Abfrage
            Enter Password:
            überhaupt gepromptet?

            Stimmt root/passwort - Kombination?

            Hat root überhaupt ein Passwort? Wenn Nein
            mysql -u root < backup.sql

            Lasse bitte den ; hinter Deinem Command weg.



            [Editiert von hand am 17-01-2002 um 14:31]

            Kommentar


            • #7
              jetzt hats funktioniert mit
              c:\mysql\bin>mysql -u root -p dbname<backup.sql

              das hat dann wohl tatsächlich am ; nach der Datei gelegen, erstaunlich, wenn man sieht daß beim mysqldump ein ; am Ende steht.
              Auf jeden Fall danke ich dir, vor allem für deine Geduld,
              jetzt muß ich dies nur noch mit nem crond verbinden, und ich hab mich fast selbst wegrationalisiert :-)

              Gruß Ralf

              Kommentar

              Lädt...
              X