• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]MySQL -> User, Rechte und von aussen connecten

Overwrite

Newbie
moin, hab jetzt am WE mal MySQL (4.1...) installiert, hab das jetzt soweit mal hinbekommen das der Server startet und das mysql.sock vorhanden ist.. (der Server is Powered by Linux 9.3 Pro)

dann habsch sogar geschaft das Passwort zuändern o_O

Naja, meine erste Frage:

1. Ich lese hier oft bzw. auch beim MySQL Howto das man aus sicherheitsgründen das MySQL nicht als Root laufen lassen soll.

wo seh ich als was das gestartet wird und wie kann ich das ändern, also soweit ich weiß is bei [ls -l /var/bin/mysql] owner vom SQL "mysql"? --> is das so richtig? hab das alles über yast installiert und auch mit dem runlevel-Editor von denen gestartet(einfach auf Aktivieren geklickt, nix an den runleveln verstellt, steht glaub auf 2,3,(5))

Mein nächstes Problöem is das wenn ich vom Notebook(WinXP/SP2) mit MySQLAdmin oder MySQLQueryBrowser Connecten will, bekomme ich immer die Meldung: "Host xxx.xxx.xxx.xxx" is not allowed to Connect" <--- ja, hmmm

hab dann mal versucht ne Datenbanke anzulegen:

Code:
mysqladmin -u root -p CREATE xyz

danach wollte ich(denke mir mal das dass dafür vorgesehen ist) einem user der zu gruppe mysql gehört das recht geben drauf zuzugreifen, egal von wo.

Code:
mysqlaccess \* user xyz

und da scheiterst, der macht da nix. der speichert das net ab.

hab auch versucht bei der mysqlaccess.conf (warum stehen da die passwörter drin?) das localhost mal wegzumachen aber will trotzdem net. also $host=' ' steht dann da.

an der my.cnf hab ich nix verstellt.

kann mir da auch net mehr weiterhelfen, hab hier schon überall fleißig gelesen und gegoogelt, aber find da keine lösung für.

Thx
 

homer65

Hacker
Hallo,
wenn ein User sich bei einer MySQL Datenbank anmeldet, benutzt MySQL nicht nur den Usernamen, sondern auch den TCP/IP Hostnamen oder die IP-Adresse des sich anmeldenden Users. Es ist daher ein Unterschied, ob man sich lokal oder von einem entfernten Rechner, z.B. deinem Notebook, anmeldet. MySQL benutzt dazu die Tabelle user in der Datenbank mysql. Mach mal ein "select user,host from user" um dir deinen Stand anzugucken. Der Host "%" ist ein Platzhalter für alle möglichen Hosts. Wenn du also diesen Host berechtigst, kommst du von überall an dein MySQL.
Christian
 
OP
O

Overwrite

Newbie
ja danke für eure antworten, hab das problem gelöst.

mein problem war das ich überhaupt nicht wusste wo ich da user anlegen kann.

habs jetzt. (einfach in die mysql/user, is ja klar o_O)

aber 3 fragen hab ich noch:

1)
mysql->user : hier stehen alle user mit ihren rechten allgemein für MySQL drin.

in der mysql->db: kann man noch einstellen welcher user in welcher datenbank was machen darf, bzw. welche lesen usw.??

also, welche hat die höhere priorität?

2)
mysqld_save wird als root und mysqld als mysql ausgeführt? sollte man das ändern oder kann das so bleiben?

3)
wenn ich als root einen neuen benutzer anlege, wie kann der user sein passwort ändern?

MfG
 
Oben