Markus: mySQL, phpmyadmin, seltsames Verhalten

Nabend,

Dadurch, dass ich mindestens ein Jahr schon nichts mehr mit mySQL zu tun hatte, brauche ich jetzt unbedingt Hilfe.
Den ganzen Tag muss ich mich heute schon mit PHP und/oder mySQL rumärgern und ich bin jetzt schon einigermaßen erzürnt darüber, wie unnötig verkomplziert das seit den letzten Versionen gemacht wurde. Früher hatte ich irgendwie keine Probleme damit, aber bitte. Bspw verstehe ich nicht, wozu dieser sinnlose Testuser in phpmyadmin eigentlich gut sein soll, wobei bei der Erklärung wieder zwei mal weiterverlinkt, wo man dann bei Linked-tables infrastructure landet, jedoch nicht nicht erklärt wird, was das ganze eigentlich soll. Wieso kann man sich nicht über http "normal" einloggen, ohne Tonnen von Tabellen zuerst erstellen zu müssen)
Wieso sollen diese "special tables" überhaupt gut sein, usw.

Jedenfalls ist mein Hauptproblem, dass ich in phpmyadmin zwar reinkomme, ich aber ständig den User und das Passwort neu eingeben muss. Manchmal kann ich wieder ein paar Buttons ohne Probleme drücken, aber spätestens beim Ausloggen mithilfe des "Logout"-Buttons werde ich wieder nach dem Passwort gefragt, aber seltsamerweise stimmt "root" und das Passwort dazu nicht mehr? Wie kann das sein?
Desweiteren ist mir eine Ausgabe von mysql nicht wirklich klar:

SELECT user, host FROM mysql.user; gibt folgendes aus:
user        host
---------------------
            gentoo
root        gentoo
            localhost
root        localhost
testuser    localhost

Was bedeuten die ersten 3 Zeilen? Was hat hier "gentoo" zu suchen? So lautet nämlich der Hostname meines Computers, und "localhost" ist natürlich auch der Servername des laufenden Apache.
Hat das vielleicht auch mit dem Logout-Problem zu tun, da sich vielleicht mysql-Server und Apache irgendwie in die "Quere kommen"?

Markus.

--
http://www.apostrophitis.at
STANDAR_D_  - ist das wirklich so schwer?
  1. Moin!

    Wieso sollen diese "special tables" überhaupt gut sein, usw.

    Meine Erfahrung: Die werden nicht wirklich gebraucht. Du kannst damit aber die Datenbankstruktur visualsieren lassen. Wers braucht...

    Jedenfalls ist mein Hauptproblem, dass ich in phpmyadmin zwar reinkomme, ich aber ständig den User und das Passwort neu eingeben muss.

    Wie sieht den  die Konfigurationsdatei aus? Ich habe in dieser die Benutzer und Passwörter eingetragen und überlasse den Schutz auf meinem Testsystem htaccess. Du hast konkret 3 Möglichkeiten:

    $cfg['Servers'][$i]['auth_type']     = 'config';    // Authentication method (config, http or cookie based)?

    config: Die Daten werden in die config.inc.php fest eingetragen. Wenn nicht zusätzlich der Server eine Athentifizierung durchführt kann jedermann....

    http: Der Webserver fragt mittels realm nach Benutzername und Passwort.

    cookie: Du bekommst ein hübsches Formular für die Anmeldung und bei Erfolg einen Keks, den Du nicht wegwerfen darfst.

    Deiner Beschreibung nach veranlasst der phpadmin den Brwoser das Passwort zu vergessen. Das geht z.B. durch eine zufällige Benennung des Inputfeldes. (Schau mal den HTML-Quelltext an, ob es so ist.)

    Was bedeuten die ersten 3 Zeilen?
                gentoo
    root        gentoo
                localhost

    • namenloser Benutzer an host "gentoo"
    • root an host gentoo
    • namenloser Benutzer an host "localhost"

    sind valide Benutzer (Wenn das Passwort tut, was es soll: passen)

    Die Einträge mit dem localhost und dem eigenen Hostnamen werden bei der Installation automatisch angelegt. Irgendjemand betrachtet das als "hilfreich", dass muss nicht mit meiner oder Deiner Meinung übereinstimmen.

    Ein:

    delete from mysql.user where user='dies' and host='das';
    flush privileges;

    hilft.

    Hat das vielleicht auch mit dem Logout-Problem zu tun

    Nein.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
    1. Hallo,

      Wieso sollen diese "special tables" überhaupt gut sein, usw.

      Meine Erfahrung: Die werden nicht wirklich gebraucht. Du kannst damit aber die Datenbankstruktur visualsieren lassen. Wers braucht...

      Hab ich mir doch gedacht, dass es unnötig ist.

      Wie sieht den  die Konfigurationsdatei aus? Ich habe in dieser die Benutzer und Passwörter eingetragen und überlasse den Schutz auf meinem Testsystem htaccess.

      Ich habe als auth_type http, und den root mit dem Passwort nicht eingetragen. Ich könnte es natürlich so machen wie du, aber ich würde zuerst doch gerne dem Problem auf den Grund gehen, da man so nur einen einzigen Benutzer verwenden kann.

      Deiner Beschreibung nach veranlasst der phpadmin den Brwoser das Passwort zu vergessen. Das geht z.B. durch eine zufällige Benennung des Inputfeldes. (Schau mal den HTML-Quelltext an, ob es so ist.)

      Also ich konnte nichts derartiges erkennen. Desweiteren wird die Session offensichtlich auch nicht in Input-Feldern gespeichert.

      Die Einträge mit dem localhost und dem eigenen Hostnamen werden bei der Installation automatisch angelegt. Irgendjemand betrachtet das als "hilfreich", dass muss nicht mit meiner oder Deiner Meinung übereinstimmen.

      Aha, also ist es quasi zum vernachlässigen.

      Markus.

      --
      http://www.apostrophitis.at
      STANDAR_D_  - ist das wirklich so schwer?
      1. Moin!

        Ich habe als auth_type http, und den root mit dem Passwort nicht eingetragen. Ich könnte es natürlich so machen wie du, aber ich würde zuerst doch gerne dem Problem auf den Grund gehen, da man so nur einen einzigen Benutzer verwenden kann.

        Keineswegs! Du kannst, wenn Du die Benutzer alle anlegst, das Verzeichnis mit htacces schützen und dann auf der Startseite des admins den zu verwendenden Benutzer auswählen.

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
        1. Hallo,

          Keineswegs! Du kannst, wenn Du die Benutzer alle anlegst, das Verzeichnis mit htacces schützen und dann auf der Startseite des admins den zu verwendenden Benutzer auswählen.

          Hmmm, das verstehe ich nicht ganz. mysql-"root" und sein Passwort sind doch in der config.inc.php eingetragen. Wie könnte ich dann zwischen verschiedenen Benutzern wählen?.
          Übrigens habe ich jetzt mit .htaccess ein Problem.
          Es erscheint zwar die Prompt, aber nach Eingabe der Daten erscheint nochmals die Prompt, wodurch ich 2x hintereinander die Daten eingeben muss, um passieren zu dürfen. Danach läuft es aber problemlos.
          Das eine Mal fragt er nach dem Namen und Benutzer auf "localhost" und beim 2. Mal fragt er nach Namen und Benutzer auf "MEINE_IP". Der Name des Servers ist übrigens als "localhost" eingetragen. Warum erscheint die Promp 2 Mal?

          Markus.

          --
          http://www.apostrophitis.at
          STANDAR_D_  - ist das wirklich so schwer?
          1. Moin!

            Der Name des Servers ist übrigens als "localhost" eingetragen. Warum erscheint die Promp 2 Mal?

            Lass mich raten...

            • Du hast das Verzeichnis mit htaccess geschützt?
            • Du hast außerdem in der configuration $cfg['Servers'][$i]['auth_type'] = http gesetzt?

            Setze das, wenn Du dich am Webserver (Authorisierung für das Verzeichnis am Webserver) anmelden willst auf 'config'.

            Weitere Möglichkeit. Du wirst umgeleitet. Was steht in $cfg['PmaAbsoluteUri'] = ''; ??? Das rufe auch auf...

            Hmmm, das verstehe ich nicht ganz. mysql-"root" und sein Passwort sind doch in der config.inc.php eingetragen. Wie könnte ich dann zwischen verschiedenen Benutzern wählen?.

            Trage die Werte für die Benutzer in die config.inc.php ein und staune.

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
            1. Hallo,

              • Du hast das Verzeichnis mit htaccess geschützt?

              Richtig.

              • Du hast außerdem in der configuration $cfg['Servers'][$i]['auth_type'] = http gesetzt?

              Eigentlich war es auf config.

              Weitere Möglichkeit. Du wirst umgeleitet. Was steht in $cfg['PmaAbsoluteUri'] = ''; ??? Das rufe auch auf...

              Daran lag es, danke. Wenn ich den Pfad leer lasse, bekomme ich nur eine Prompt.

              Hmmm, das verstehe ich nicht ganz. mysql-"root" und sein Passwort sind doch in der config.inc.php eingetragen. Wie könnte ich dann zwischen verschiedenen Benutzern wählen?.

              Trage die Werte für die Benutzer in die config.inc.php ein und staune.

              Das verstehe ich nicht. Wie kann ich mehrere Benutzer eintragen?

              Markus.

              --
              http://www.apostrophitis.at
              STANDAR_D_  - ist das wirklich so schwer?
              1. Moin!

                Das verstehe ich nicht. Wie kann ich mehrere Benutzer eintragen?

                Ganz einfach:

                $i=0;
                $cfg['Servers'][$i]['host']            = '127.0.0.1';
                $cfg['Servers'][$i]['port']            = '';
                $cfg['Servers'][$i]['socket']          = '';
                $cfg['Servers'][$i]['connect_type']    = 'tcp';
                $cfg['Servers'][$i]['extension']       = 'mysql';
                $cfg['Servers'][$i]['compress']        = FALSE;
                $cfg['Servers'][$i]['controluser']     = 'root';
                $cfg['Servers'][$i]['controlpass']     = 'geHeim';
                $cfg['Servers'][$i]['auth_type']       = 'config';
                $cfg['Servers'][$i]['user']            = 'root';
                $cfg['Servers'][$i]['password']        = 'geHeim';
                $cfg['Servers'][$i]['only_db']         = '';
                [...]

                $i++;
                $cfg['Servers'][$i]['host']            = '127.0.0.1';
                $cfg['Servers'][$i]['port']            = '';
                $cfg['Servers'][$i]['socket']          = '';
                $cfg['Servers'][$i]['connect_type']    = 'tcp';
                $cfg['Servers'][$i]['extension']       = 'mysql';
                $cfg['Servers'][$i]['compress']        = FALSE;
                $cfg['Servers'][$i]['controluser']     = 'user1';
                $cfg['Servers'][$i]['controlpass']     = 'pass1';
                $cfg['Servers'][$i]['auth_type']       = 'config';
                $cfg['Servers'][$i]['user']            = 'user1';
                $cfg['Servers'][$i]['password']        = 'pass1';
                $cfg['Servers'][$i]['only_db']         = 'db_4_user1';

                [...]

                $i++;
                $cfg['Servers'][$i]['host']            = '127.0.0.1';
                $cfg['Servers'][$i]['port']            = '';
                $cfg['Servers'][$i]['socket']          = '';
                $cfg['Servers'][$i]['connect_type']    = 'tcp';
                $cfg['Servers'][$i]['extension']       = 'mysql';
                $cfg['Servers'][$i]['compress']        = FALSE;
                $cfg['Servers'][$i]['controluser']     = 'user2';
                $cfg['Servers'][$i]['controlpass']     = 'pass2';
                $cfg['Servers'][$i]['auth_type']       = 'config';
                $cfg['Servers'][$i]['user']            = 'user2';
                $cfg['Servers'][$i]['password']        = 'pass2';
                $cfg['Servers'][$i]['only_db']         = 'db_4_user1';

                und so weiter und so fort...

                MFFG (Mit freundlich- friedfertigem Grinsen)

                fastix®

                --
                Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
                1. Hi,

                  alles klar, danke.

                  Markus.

                  --
                  http://www.apostrophitis.at
                  STANDAR_D_  - ist das wirklich so schwer?
  2. echo $begrüßung;

    Wieso sollen diese "special tables" überhaupt gut sein, usw.

    Wie fastix schon andeutete, kann man damit die Beziehungen zwischen den Tabellen festhalten. Man kann angeben, welcher Fremdschlüssel auf welchen Primärschlüssel zeigt. Dies kann man verwenden, um sich ein PDF-Dokument mit den Tabellen und Beziehungen auszugeben. Und es wird verwendet, um statt einem einfachen Eingabefeld zur Eingabe einer ID eine Auswahlliste der referenzierten Datensätze anzuzeigen.

    Ferner wird noch eine Historie der ausgeführten SQL-Befehle und eine Tabelle zum Speichern von bestimmten SQL-Abfragen.

    Braucht man diese Features nicht, kann man die Warnung wegkonfigurieren. Ebenso lassen sich einige andere Dinge einstellen, wie z.B. die ständige Anzeige aller Datenbanken statt einer Dropdown-Auswahl, usw. usf.

    echo "$verabschiedung $name";