PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : In phpMyAdmin einem User nur eine Datenbank zuordnen



[B@W] Abominus
24.04.06, 08:32
Ich stehe vor dem Problem, daß ich als Admin mich bei phpMyAdmin zwar einloggen kann, auch andere User anlegen kann, aber nicht weiß, wie ich es hinbekomme, daß der User, den ich anlegt habe, sich auch einloggen kann.

Mein Ziel ist es, dem User Jaycee eine Datenbank bereitzustellen auf unserem Server, auf die er ausschließlich zugreifen kann. Derzeit kann ich als Admin auf ALLE Datenbanken zugreifen. Mir wäre das ganz recht, wenn ich das auch noch für mich selbst einrichten könnte, so daß ich als Abominus alleinig auf die Datenbank Abominus zugreifen kann, ohne die anderen zu sehen, gleiches gilt für User Jaycee mit der Datenbank Jaycee.

Kennt sich jemand mit phpMyAdmin aus?

Golwar
24.04.06, 10:10
http://www.php-resource.de/manual.php?p=function.mysql-create-db

Letztlich hätte es aber auch nichts ausgemacht wenn ihr beide durch seperates pre-fix in der Nutztung getrennt, ein- und dieselbe DB benutzt hättet. Vorausgesetzt beide gehen mit gesundem Menschenverstand voran :D

Pain
24.04.06, 15:42
Von was für Usern sprecht ihr, werter Abo?

MySQL User oder etwas anderes?

[B@W] Abominus
24.04.06, 15:44
Ich kann über phpMyAdmin einen User definieren. Diesem kann ich dort auch Rechte zuordnen, wie z.B. das Ändern oder Anlegen von Tabellen. Nur kann ich mich nicht als dieser User anmelden, sondern nur als Admin.

Pain
24.04.06, 23:58
Ach, PHPMyAdmin ist ein rotes Tuch für mich. Wenn es um MySQL User gegangen wäre, hätte ich helfen können.

Hoch lebe die Kommandozeile!

[B@W] Abominus
25.04.06, 02:28
Über phpMyAdmin kann man auch über Kommandozeile arbeiten.

Pain
25.04.06, 20:06
Hmm, ja, wozu ein Programm verwenden um Kommandozeilenbefehle zu übergeben? Macht ja keinen Sinn.

Edit: Also, mein Senf zu der Sache, bringt so ja nix. Ich würde PHPMyAdmin einfach weg lassen und die ganze Berechtigungsgeschichte über MySQL selbst regeln. Nach dem Erzeugen der Datenbank müsst ihr entweder per "GRANT" SQL-Statement, einem vorher angelegten User in der Datenbank "mysql" entsprechende Rechte verteilen oder ihr macht das von Hand in genannter Datenbank selbst. Wenn ihr die Datenbank "mysql" anschaut, so finden sich unter anderem die Tabelle "user" und die Tabelle "db".

Als erstes muss jetzt der Benutzerdatensatz "jaycee" in der Tabelle "user" erstellt werden. Gebt ihm die erforderlichen Rechte. (alle Rechte sollten beschitten sein, also überall "N" eintragen, statt "Y")
Danach müsst ihr einen Datensatz in die Tabelle "db" anlegen mit dem User "jaycee". Hier gebt ihr dann die Rechte, welche dieser User benötigt. Somit hat der User "jaycee" einzig und allein Zugriffsrecht auf die entprechende Datenbank.

Spocky
26.04.06, 06:09
Wenn ich noch ergänzen darf , wenn du Jaycee viele privilegien auf eine datenbank aber wenige auf alle anderen geben möchtest ist noch die Tabelle table_privs interressant ( Datenbank mysql)

Spocky

Pain
26.04.06, 13:45
Wenn ich noch ergänzen darf , wenn du Jaycee viele privilegien auf eine datenbank aber wenige auf alle anderen geben möchtest ist noch die Tabelle table_privs interressant ( Datenbank mysql)

Spocky
Die Tabelle "table_privs" Regelt die Rechte einzelner Tabellen innerhalb einer Datenbank, hat also so gesehen nichts mit den allgemeinen Rechten auf eine einzelne Datenbank zu tun.
Man kann doch in der Tabelle "db" schon mehr oder weniger Rechte verteilen, wozu brauch ich dann noch die "table_privs"?

Ich persönlich würde die Datenbanken sowieso so designen, dass ich keine Rechte in der "table_privs" mehr eintragen muss und dass mir die Tabellen "db" und "user" reichen dazu.

Spocky
26.04.06, 20:18
Gut , klar wenn es nur um ne Datenbank geht. Manchmal kann es aber notwendig sein die Privilegien feiner zur granuliern.
Und da dachte ich es könnte ne nützliche Ergänzungs sein ;)

Spocky