felix s.: MYSQL5.0 - root pass gesetzt, jetzt kein zugriff mehr.

Hi!
ich hab ein sehr seltsames problem (oder bin ich nur zu blöd? :-))
also habe apache php mysql installiert, funktioniert auch alles soweit. db ist erreichbar, etc.
allerdings ist kein passwort für den benutzer root gesetzt.
ich habe ein script das für ein update auf eine neuere version ein Datenbankpasswort benötigt (ich denke hiermit is das pass für den benutzer gemeint der zugriff auf die jeweilige db hat...).
nun ein leeres passwort nimmt er nicht an.
setzt ich nun per mysql console ein pass für den root benutzer komme ich weder ins phpmyadmin noch kann das script nach änderung der conf.php auf die db zugreifen.
das pass das ich dort angebe ist aber korrekt!! da: zugriff auf die mysql console mit genau diesem pass möglich ist.
der user root hat auch zugriff auf alle db's.. meine all privileges...

jmd ne idee?

  1. Hello,

    der user root hat auch zugriff auf alle db's.. meine all privileges...

    Was sagen die Tabellen der Datenbank mysql?

    Hier ein Beispiel eines gerade installierten und noch nicht mit Root-Passwort gesicherten lokalen Testsystems  _ohne_  phpMyAdmin

    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A

    Database changed
    mysql> show columns from users;
    ERROR 1146 (42S02): Table 'mysql.users' doesn't exist
    mysql> show columns from user;
    +-----------------------+-----------------------------------+------+-----+---------+-------+
    | Field                 | Type                              | Null | Key | Default | Extra |
    +-----------------------+-----------------------------------+------+-----+---------+-------+
    | Host                  | char(60)                          | NO   | PRI |         |       |
    | User                  | char(16)                          | NO   | PRI |         |       |
    | Password              | char(41)                          | NO   |     |         |       |
    | Select_priv           | enum('N','Y')                     | NO   |     | N       |       |
    | Insert_priv           | enum('N','Y')                     | NO   |     | N       |       |
    | Update_priv           | enum('N','Y')                     | NO   |     | N       |       |
    | Delete_priv           | enum('N','Y')                     | NO   |     | N       |       |
    | Create_priv           | enum('N','Y')                     | NO   |     | N       |       |
    | Drop_priv             | enum('N','Y')                     | NO   |     | N       |       |
    | Reload_priv           | enum('N','Y')                     | NO   |     | N       |       |
    | Shutdown_priv         | enum('N','Y')                     | NO   |     | N       |       |
    | Process_priv          | enum('N','Y')                     | NO   |     | N       |       |
    | File_priv             | enum('N','Y')                     | NO   |     | N       |       |
    | Grant_priv            | enum('N','Y')                     | NO   |     | N       |       |
    | References_priv       | enum('N','Y')                     | NO   |     | N       |       |
    | Index_priv            | enum('N','Y')                     | NO   |     | N       |       |
    | Alter_priv            | enum('N','Y')                     | NO   |     | N       |       |
    | Show_db_priv          | enum('N','Y')                     | NO   |     | N       |       |
    | Super_priv            | enum('N','Y')                     | NO   |     | N       |       |
    | Create_tmp_table_priv | enum('N','Y')                     | NO   |     | N       |       |
    | Lock_tables_priv      | enum('N','Y')                     | NO   |     | N       |       |
    | Execute_priv          | enum('N','Y')                     | NO   |     | N       |       |
    | Repl_slave_priv       | enum('N','Y')                     | NO   |     | N       |       |
    | Repl_client_priv      | enum('N','Y')                     | NO   |     | N       |       |
    | Create_view_priv      | enum('N','Y')                     | NO   |     | N       |       |
    | Show_view_priv        | enum('N','Y')                     | NO   |     | N       |       |
    | Create_routine_priv   | enum('N','Y')                     | NO   |     | N       |       |
    | Alter_routine_priv    | enum('N','Y')                     | NO   |     | N       |       |
    | Create_user_priv      | enum('N','Y')                     | NO   |     | N       |       |
    | ssl_type              | enum('','ANY','X509','SPECIFIED') | NO   |     |         |       |
    | ssl_cipher            | blob                              | NO   |     | NULL    |       |
    | x509_issuer           | blob                              | NO   |     | NULL    |       |
    | x509_subject          | blob                              | NO   |     | NULL    |       |
    | max_questions         | int(11) unsigned                  | NO   |     | 0       |       |
    | max_updates           | int(11) unsigned                  | NO   |     | 0       |       |
    | max_connections       | int(11) unsigned                  | NO   |     | 0       |       |
    | max_user_connections  | int(11) unsigned                  | NO   |     | 0       |       |
    +-----------------------+-----------------------------------+------+-----+---------+-------+
    37 rows in set (0.01 sec)

    mysql> select user, host, password from user;
    +------------------+-----------+-------------------------------------------+
    | user             | host      | password                                  |
    +------------------+-----------+-------------------------------------------+
    | root             | localhost |                                           |
    | root             | debian4   |                                           |
    | root             | 127.0.0.1 |                                           |
    |                  | localhost |                                           |
    |                  | debian4   |                                           |
    | debian-sys-maint | localhost | *B67A73CE1E6FD97E3E79FD333AD784005D321A17 |
    | mailadmin        | localhost | *7684C7596CA32C6BCFA32EBDBD3BF7B4A841E46F |
    | maildaemon       | localhost | *A41FA06283CBD4BF634452EF1EE00406596B4D93 |
    +------------------+-----------+-------------------------------------------+
    8 rows in set (0.00 sec)

    mysql>

    Wenn Du Konsolenzugang hast, sollte es kein Problem sein, das Problem zu lösen.

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. flus privileges <=> neustart vom mysql dienst???

      so root pass gesetzt. config im skript angepasst. immernoch kein zugang.
      anbei mal was so inb der mysql db steht.
      ich hab ehrlich gesagt kein elust mehr ^^ so schwer kanns doch net sein... :-)
      +-----------------------+-----------------------------------+----
      ---+-------+
      | Field                 | Type                              | Nul
      lt | Extra |
      +-----------------------+-----------------------------------+----
      ---+-------+
      | Host                  | char(60)                          | NO
         |       |
      | User                  | char(16)                          | NO
         |       |
      | Password              | char(41)                          | NO
         |       |
      | Select_priv           | enum('N','Y')                     | NO
         |       |
      | Insert_priv           | enum('N','Y')                     | NO
         |       |
      | Update_priv           | enum('N','Y')                     | NO
         |       |
      | Delete_priv           | enum('N','Y')                     | NO
         |       |
      | Create_priv           | enum('N','Y')                     | NO
         |       |
      | Drop_priv             | enum('N','Y')                     | NO
         |       |
      | Reload_priv           | enum('N','Y')                     | NO
         |       |
      | Shutdown_priv         | enum('N','Y')                     | NO
         |       |
      | Process_priv          | enum('N','Y')                     | NO
         |       |
      | File_priv             | enum('N','Y')                     | NO
         |       |
      | Grant_priv            | enum('N','Y')                     | NO
         |       |
      | References_priv       | enum('N','Y')                     | NO
         |       |
      | Index_priv            | enum('N','Y')                     | NO
         |       |
      | Alter_priv            | enum('N','Y')                     | NO
         |       |
      | Show_db_priv          | enum('N','Y')                     | NO
         |       |
      | Super_priv            | enum('N','Y')                     | NO
         |       |
      | Create_tmp_table_priv | enum('N','Y')                     | NO
         |       |
      | Lock_tables_priv      | enum('N','Y')                     | NO
         |       |
      | Execute_priv          | enum('N','Y')                     | NO
         |       |
      | Repl_slave_priv       | enum('N','Y')                     | NO
         |       |
      | Repl_client_priv      | enum('N','Y')                     | NO
         |       |
      | Create_view_priv      | enum('N','Y')                     | NO
         |       |
      | Show_view_priv        | enum('N','Y')                     | NO
         |       |
      | Create_routine_priv   | enum('N','Y')                     | NO
         |       |
      | Alter_routine_priv    | enum('N','Y')                     | NO
         |       |
      | Create_user_priv      | enum('N','Y')                     | NO
         |       |
      | ssl_type              | enum('','ANY','X509','SPECIFIED') | NO
         |       |
      | ssl_cipher            | blob                              | NO
         |       |
      | x509_issuer           | blob                              | NO
         |       |
      | x509_subject          | blob                              | NO
         |       |
      | max_questions         | int(11) unsigned                  | NO
         |       |
      | max_updates           | int(11) unsigned                  | NO
         |       |
      | max_connections       | int(11) unsigned                  | NO
         |       |
      | max_user_connections  | int(11) unsigned                  | NO
         |       |
      +-----------------------+-----------------------------------+----
      ---+-------+
      37 rows in set (0.01 sec)

      mysql> select user, host, password from user;
      +------+-----------+-------------------------------------------+
      | user | host      | password                                  |
      +------+-----------+-------------------------------------------+
      | root | localhost | *71BB870DD362991035C3CF8A3EDE8DBD2ADE2A05 |
      | root | 127.0.0.1 |                                           |
      |      | localhost |                                           |
      +------+-----------+-------------------------------------------+

      Hello,

      der user root hat auch zugriff auf alle db's.. meine all privileges...

      Was sagen die Tabellen der Datenbank mysql?

      Hier ein Beispiel eines gerade installierten und noch nicht mit Root-Passwort gesicherten lokalen Testsystems  _ohne_  phpMyAdmin

      mysql> use mysql;
      Reading table information for completion of table and column names
      You can turn off this feature to get a quicker startup with -A

      Database changed
      mysql> show columns from users;
      ERROR 1146 (42S02): Table 'mysql.users' doesn't exist
      mysql> show columns from user;
      +-----------------------+-----------------------------------+------+-----+---------+-------+
      | Field                 | Type                              | Null | Key | Default | Extra |
      +-----------------------+-----------------------------------+------+-----+---------+-------+
      | Host                  | char(60)                          | NO   | PRI |         |       |
      | User                  | char(16)                          | NO   | PRI |         |       |
      | Password              | char(41)                          | NO   |     |         |       |
      | Select_priv           | enum('N','Y')                     | NO   |     | N       |       |
      | Insert_priv           | enum('N','Y')                     | NO   |     | N       |       |
      | Update_priv           | enum('N','Y')                     | NO   |     | N       |       |
      | Delete_priv           | enum('N','Y')                     | NO   |     | N       |       |
      | Create_priv           | enum('N','Y')                     | NO   |     | N       |       |
      | Drop_priv             | enum('N','Y')                     | NO   |     | N       |       |
      | Reload_priv           | enum('N','Y')                     | NO   |     | N       |       |
      | Shutdown_priv         | enum('N','Y')                     | NO   |     | N       |       |
      | Process_priv          | enum('N','Y')                     | NO   |     | N       |       |
      | File_priv             | enum('N','Y')                     | NO   |     | N       |       |
      | Grant_priv            | enum('N','Y')                     | NO   |     | N       |       |
      | References_priv       | enum('N','Y')                     | NO   |     | N       |       |
      | Index_priv            | enum('N','Y')                     | NO   |     | N       |       |
      | Alter_priv            | enum('N','Y')                     | NO   |     | N       |       |
      | Show_db_priv          | enum('N','Y')                     | NO   |     | N       |       |
      | Super_priv            | enum('N','Y')                     | NO   |     | N       |       |
      | Create_tmp_table_priv | enum('N','Y')                     | NO   |     | N       |       |
      | Lock_tables_priv      | enum('N','Y')                     | NO   |     | N       |       |
      | Execute_priv          | enum('N','Y')                     | NO   |     | N       |       |
      | Repl_slave_priv       | enum('N','Y')                     | NO   |     | N       |       |
      | Repl_client_priv      | enum('N','Y')                     | NO   |     | N       |       |
      | Create_view_priv      | enum('N','Y')                     | NO   |     | N       |       |
      | Show_view_priv        | enum('N','Y')                     | NO   |     | N       |       |
      | Create_routine_priv   | enum('N','Y')                     | NO   |     | N       |       |
      | Alter_routine_priv    | enum('N','Y')                     | NO   |     | N       |       |
      | Create_user_priv      | enum('N','Y')                     | NO   |     | N       |       |
      | ssl_type              | enum('','ANY','X509','SPECIFIED') | NO   |     |         |       |
      | ssl_cipher            | blob                              | NO   |     | NULL    |       |
      | x509_issuer           | blob                              | NO   |     | NULL    |       |
      | x509_subject          | blob                              | NO   |     | NULL    |       |
      | max_questions         | int(11) unsigned                  | NO   |     | 0       |       |
      | max_updates           | int(11) unsigned                  | NO   |     | 0       |       |
      | max_connections       | int(11) unsigned                  | NO   |     | 0       |       |
      | max_user_connections  | int(11) unsigned                  | NO   |     | 0       |       |
      +-----------------------+-----------------------------------+------+-----+---------+-------+
      37 rows in set (0.01 sec)

      mysql> select user, host, password from user;
      +------------------+-----------+-------------------------------------------+
      | user             | host      | password                                  |
      +------------------+-----------+-------------------------------------------+
      | root             | localhost |                                           |
      | root             | debian4   |                                           |
      | root             | 127.0.0.1 |                                           |
      |                  | localhost |                                           |
      |                  | debian4   |                                           |
      | debian-sys-maint | localhost | *B67A73CE1E6FD97E3E79FD333AD784005D321A17 |
      | mailadmin        | localhost | *7684C7596CA32C6BCFA32EBDBD3BF7B4A841E46F |
      | maildaemon       | localhost | *A41FA06283CBD4BF634452EF1EE00406596B4D93 |
      +------------------+-----------+-------------------------------------------+
      8 rows in set (0.00 sec)

      mysql>

      Wenn Du Konsolenzugang hast, sollte es kein Problem sein, das Problem zu lösen.

      Liebe Grüße aus Syburg bei Dortmund

      Tom vom Berg

    2. was mir grad noch auffällt...
      versuche ich per insert einen neuen benutzer hinzuzufügen kommt dann das hier:
      mysql> INSERT INTO user (Host,User,Password) VALUES('localhost','sofa','sofa');
      ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value

      per grant:
      mysql> use mysql
      Database changed
      mysql> GRANT ALL PRIVILEGES ON *.* TO 'sofa'@'localhost' IDENTIFIED BY 'sofa' WITH GRANT OPTION;
      Query OK, 0 rows affected (0.00 sec)

      mysql> select user, host, password from user;
      +------+-----------+-------------------------------------------+
      | user | host      | password                                  |
      +------+-----------+-------------------------------------------+
      | root | localhost | *71BB870DD362991035C3CF8A3EDE8DBD2ADE2A05 |
      | root | 127.0.0.1 |                                           |
      |      | localhost |                                           |
      | sofa | localhost | *71BB870DD362991035C3CF8A3EDE8DBD2ADE2A05 |
      +------+-----------+-------------------------------------------+
      4 rows in set (0.00 sec)

      passwort gesetzt.. mysql dienst neu gestartet... selbiges bild. script kann keine verbindung zur db aufbauen. phpmyadmin (per http atheti) funzt auch nicht. zugriff auf die mysql console einwandfrei.

      1. echo $begrüßung;

        flush privileges <=> neustart vom mysql dienst???

        Das erste reicht, um die Rechtetabelle neu zu laden. Bei einem Neustart passiert das natürlich auch, doch für einen laufenden produktiven Betrieb ist ein Neustart nicht unproblematisch. Das benötigt man vor allem, wenn man die Tabellen der Datenbank mysql mit UPDATE, INSERT und DELETE ändert. Änderungen mit GRANT, REVOKE oder SET PASSWORD sind sofort aktiv.

        per grant:
        mysql> use mysql

        Das Wechseln in die Datenbank mysql benötigt man nicht für GRANT und Konsorten.

        mysql> GRANT ALL PRIVILEGES ON *.* TO 'sofa'@'localhost' IDENTIFIED BY 'sofa' WITH GRANT OPTION;

        Damit erstellst du einen neuen Root-Account, nur das er sofa heißt. Beschränke dich bei den globalen Werten lieber auf USAGE und vergib datenbankspezifische Rechte.

        GRANT USAGE ON *.* TO 'user'@'host' IDENTIFIED BY 'password'
        GRANT SELECT, INSERT, ... ON database.* TO 'user'@'host';

        passwort gesetzt.. mysql dienst neu gestartet... selbiges bild. script kann keine verbindung zur db aufbauen. phpmyadmin (per http atheti) funzt auch nicht.

        Nicht alle Fehlermeldungstexte sind sinnlos. Wie lauten die deines Falles konkret?

        echo "$verabschiedung $name";

        1. echo $begrüßung;

          flush privileges <=> neustart vom mysql dienst???

          Das erste reicht, um die Rechtetabelle neu zu laden. Bei einem Neustart passiert das natürlich auch, doch für einen laufenden produktiven Betrieb ist ein Neustart nicht unproblematisch. Das benötigt man vor allem, wenn man die Tabellen der Datenbank mysql mit UPDATE, INSERT und DELETE ändert. Änderungen mit GRANT, REVOKE oder SET PASSWORD sind sofort aktiv.

          danke sehr informativ :-))

          per grant:
          mysql> use mysql

          Das Wechseln in die Datenbank mysql benötigt man nicht für GRANT und Konsorten.

          mysql> GRANT ALL PRIVILEGES ON *.* TO 'sofa'@'localhost' IDENTIFIED BY 'sofa' WITH GRANT OPTION;

          Damit erstellst du einen neuen Root-Account, nur das er sofa heißt. Beschränke dich bei den globalen Werten lieber auf USAGE und vergib datenbankspezifische Rechte.

          für meine zweck reicht der root völlig aus. der zusätzl. acc war nur zu testzwecken.

          GRANT USAGE ON *.* TO 'user'@'host' IDENTIFIED BY 'password'
          GRANT SELECT, INSERT, ... ON database.* TO 'user'@'host';

          passwort gesetzt.. mysql dienst neu gestartet... selbiges bild. script kann keine verbindung zur db aufbauen. phpmyadmin (per http atheti) funzt auch nicht.

          Nicht alle Fehlermeldungstexte sind sinnlos. Wie lauten die deines Falles konkret?

          das script gibt keine fehlermeldung aus. es erscheint einfach nicht die komplette login maske (das script hat das so ansich... also das typische bild für eine nicht vorhandene datenbank anbindung.

          phpmyadmin gibt keine fehler aus.. es nimmt das passwort frü root einfach nicht an und schmeißt mich zum anmeldefenster zurück.

          wie gesagt. setzt ich kein root pass- alles einwandfrei. setzt ich eins geht  nichts mehr - ausser die mysql console an sich.. was in den tabellendrin steht is in dem 2. posting.

          <?
          $klausel1 = Danke!^^;
          echo $klausel1;

          1. echo $begrüßung;

            das script gibt keine fehlermeldung aus. es erscheint einfach nicht die komplette login maske (das script hat das so ansich... also das typische bild für eine nicht vorhandene datenbank anbindung.

            Jede Technik, die auf der MySQL-Client-API aufsetzt, sollte in der Lage sein, die von MySQL im Fehlerfall bereitgestellte information abzufragen. PHP ist dazu definitiv in der Lage, sowohl mit der mysql- als auch mit der mysqli-Extension. Man muss nur die Rückgaberwerte der beteiligten Funktionen auswerten udn im Fehlerfall mysql_error() nach dem konkreten Wortlaut befragen. Ohne den ist eine Fehlersuche wie Stochern im Nebel.

            phpmyadmin gibt keine fehler aus.. es nimmt das passwort frü root einfach nicht an und schmeißt mich zum anmeldefenster zurück.

            Dann nimm mal Cookie als Methode. Dabei sollte dir eine Fehlermeldung auf der Seite angezeigt werden.

            echo "$verabschiedung $name";

            1. echo $begrüßung;

              das script gibt keine fehlermeldung aus. es erscheint einfach nicht die komplette login maske (das script hat das so ansich... also das typische bild für eine nicht vorhandene datenbank anbindung.

              Jede Technik, die auf der MySQL-Client-API aufsetzt, sollte in der Lage sein, die von MySQL im Fehlerfall bereitgestellte information abzufragen. PHP ist dazu definitiv in der Lage, sowohl mit der mysql- als auch mit der mysqli-Extension. Man muss nur die Rückgaberwerte der beteiligten Funktionen auswerten udn im Fehlerfall mysql_error() nach dem konkreten Wortlaut befragen. Ohne den ist eine Fehlersuche wie Stochern im Nebel.

              phpmyadmin gibt keine fehler aus.. es nimmt das passwort frü root einfach nicht an und schmeißt mich zum anmeldefenster zurück.

              Dann nimm mal Cookie als Methode. Dabei sollte dir eine Fehlermeldung auf der Seite angezeigt werden.

              das zeigt mir folgendes:
              #1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

              das script läuft mit apache 1.3 und php 4.3.4.
              das seltsame: nehme ich apache 2.2 und php5 und exakt den gleichen ordner von myadmin mit genau der selben config, funktioniert der login einwandfrei!!!
              nur mit apache 1.3 und php 4.3.4 machts probleme... mysql is immer die selbe. version 5

              ich würde ja gleich die php5 nehmen.. das problem ist aber.. ich muss das script updaten und das lauft noch nicht unter php5. ich könnte ja die neuinstallation nehmen aber dann haben wir unsere db nicht drin.. und das ist unumgänglich :/
              heißt: ich brauche php4.3.4 um das script upzudaten. und ich brauch ein root pass, ohne kann ich die db nicht updaten da das script ein leeres pass nicht annimt.

              echo "$verabschiedung name";

              1. echo $begrüßung;

                #1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
                das script läuft mit apache 1.3 und php 4.3.4.

                Na siehst du. Damit kommen wir dem Ziel ein ganzes Stück näher. MySQL hat mit Version 4.1 auch an der Authentifizierung Änderungen vorgenommen. Das sieht man an dem längeren Passwort-Hash. Mit der Funktion PASSWORD() wird ein solches neues Password erzeugt. GRANT und CREATE USER verwenden auch das neue Verfahren. Die in deiner alten PHP-Version vorhandene MySQL-Client-API ist dafür zu alt. phpinfo() wird dir für diese API im Abschnitt mysql einen Wert kleiner als 4.1 anzeigen.

                Lösungsvorschläge:

                • Nimm eine neue PHP-Version. 4.3.4 ist jenseits von gut und böse. (OK, willst du ja sowieso.)
                • Verwende OLD_PASSWORD() um für den Account, der mit der alten PHP- bzw. MySQL-Client-API-Version arbeiten soll, das Passwort zu setzen. Dazu musst du den entsprechenden Datensatz der Tabelle user direkt ändern, also UPDATE statt GRANT. Danach FLUSH PRIVILEGES oder Server neu starten. Nun sollte sich auch der alte Client anmelden können.

                das seltsame: nehme ich apache 2.2 und php5 und exakt den gleichen ordner von myadmin mit genau der selben config, funktioniert der login einwandfrei!!!

                Erklärlich, da in dieser PHP-Version eine modernere MySQL-Client-API enthalten ist. Ebenso wie in deinem Kommandozeilen-Tool.

                echo "$verabschiedung $name";

                1. echo $begrüßung;

                  #1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
                  das script läuft mit apache 1.3 und php 4.3.4.

                  Na siehst du. Damit kommen wir dem Ziel ein ganzes Stück näher. MySQL hat mit Version 4.1 auch an der Authentifizierung Änderungen vorgenommen. Das sieht man an dem längeren Passwort-Hash. Mit der Funktion PASSWORD() wird ein solches neues Password erzeugt. GRANT und CREATE USER verwenden auch das neue Verfahren. Die in deiner alten PHP-Version vorhandene MySQL-Client-API ist dafür zu alt. phpinfo() wird dir für diese API im Abschnitt mysql einen Wert kleiner als 4.1 anzeigen.

                  Lösungsvorschläge:

                  • Nimm eine neue PHP-Version. 4.3.4 ist jenseits von gut und böse. (OK, willst du ja sowieso.)
                  • Verwende OLD_PASSWORD() um für den Account, der mit der alten PHP- bzw. MySQL-Client-API-Version arbeiten soll, das Passwort zu setzen. Dazu musst du den entsprechenden Datensatz der Tabelle user direkt ändern, also UPDATE statt GRANT. Danach FLUSH PRIVILEGES oder Server neu starten. Nun sollte sich auch der alte Client anmelden können.

                  PERFEKT!! :-)) vielen vielen dank delefix für die hilfe... das neue passwort hash war das problem.. root mit old_password upgedated und die sache flutscht ;-))
                  danke nochmal *g

                  das seltsame: nehme ich apache 2.2 und php5 und exakt den gleichen ordner von myadmin mit genau der selben config, funktioniert der login einwandfrei!!!

                  Erklärlich, da in dieser PHP-Version eine modernere MySQL-Client-API enthalten ist. Ebenso wie in deinem Kommandozeilen-Tool.

                  echo "$verabschiedung $name";

                  1. echo $begrüßung;

                    PERFEKT!! :-)) vielen vielen dank delefix für die hilfe... das neue passwort hash war das problem.. root mit old_password upgedated und die sache flutscht ;-))
                    danke nochmal *g

                    Ich empfehle trotzdem nochmal, nicht den root zu verwenden sondern einen Benutzer mit nur den benötigten Rechten zu erstellen. Das neue Passwortkonzept wurde ja sicher nicht zum Spaß eingeführt. Den root mit dem alten Passwort zu versehen und ihn für nicht-administrative Aufgaben zu verwenden halte ich für keine besonders guten Ideen.

                    echo "$verabschiedung $name";

                    1. echo $begrüßung;

                      PERFEKT!! :-)) vielen vielen dank delefix für die hilfe... das neue passwort hash war das problem.. root mit old_password upgedated und die sache flutscht ;-))
                      danke nochmal *g

                      Ich empfehle trotzdem nochmal, nicht den root zu verwenden sondern einen Benutzer mit nur den benötigten Rechten zu erstellen. Das neue Passwortkonzept wurde ja sicher nicht zum Spaß eingeführt. Den root mit dem alten Passwort zu versehen und ihn für nicht-administrative Aufgaben zu verwenden halte ich für keine besonders guten Ideen.

                      is nur zu testzwecken... wenn das ding auf unsern server geht natürlich korrekt und sicher :-))

                      echo "$verabschiedung $name";

                      1. Hello,

                        is nur zu testzwecken... wenn das ding auf unsern server geht natürlich korrekt und sicher :-))

                        echo "$verabschiedung $name";

                        Deshalb solltest Du die Tests auch realistisch aufbauen.
                        Es reicht nicht, später einfach nur die rechte des Users einzuschränken, m,an muss auch wissen, welche. Und das hat bereits während der Entwicklung konzeptionelle Auswirkungen.

                        Also bau Dir einen "Universalbenutzer", der am Anfang nur "Select" hat. Erweitere den dann mit jeder Aufgabe nur um die nötigstsen Rechte, und das sind bei MySQL 5.x nicht mehr nur Select, Insert, Update und Delete.

                        Noch eine bessere Möglichkeit wäre es, den öffentlichen Benutzer gar nicht mehr direkt auf die Tabellen zugreifen zu lassen, sondern die Zugriffe in Stored Procedures zu kapseln. Diese erledingen dann die Aufgaben, können auch automatisches Logging und Warning betreiben, Vertikale Rechteverwaltung betreiben (MySQL kann von Haus aus horizontale Rechteverteilung bis auf Feldebene) usw.

                        Dann benötigt dieser User nur Zugriffsrechte auf die speziellen Funktionen. Eine Manipulation der Datenbank durch Injection und ähnliche Dinge wird damit nahezu unmöglich.

                        Liebe Grüße aus Syburg bei Dortmund

                        Tom vom Berg

                        --
                        Nur selber lernen macht schlau
                        http://bergpost.annerschbarrich.de
  2. echo $begrüßung;

    allerdings ist kein passwort für den benutzer root gesetzt.

    Das ist erstmal nicht empfehlenswert.

    ich habe ein script das für ein update auf eine neuere version ein Datenbankpasswort benötigt (ich denke hiermit is das pass für den benutzer gemeint der zugriff auf die jeweilige db hat...).

    Ja, nur das kann gemeint sein. Hast du einen eigenen Benutzer angelegt und ihm die erforderlichen Rechte für die von ihm zu verwendenden Datenbank(en) gegeben? Hast du nach Änderungen am Rechtesystem FLUSH PRIVILEGES ausgeführt oder zur Not den MySQL-Server neu gestartet?

    setzt ich nun per mysql console ein pass für den root benutzer komme ich weder ins phpmyadmin …

    Das lässt sich konfigurieren. Man kann einstellen, dass Benutzer und Passwort über HTTP-Authentication oder Cookie übermittelt werden oder man kann diese Daten in der Konfigurationsdatei fest einstellen.

    … noch kann das script nach änderung der conf.php auf die db zugreifen.

    FLUSH PRIVILEGES ist erfolgt?

    echo "$verabschiedung $name";