mysql administrator mal wieder [gelöst]

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

mysql administrator mal wieder [gelöst]

Beitrag von rene04 » 07.12.2005 11:33:26

hallo,

leider bekomme ich beim mysql administrator die meldung das meine ip adresse nicht erlaubt ist auf den mysql server zuzugreifen. komisch, denn ein root passwort ist gesezt mit welchem ich mich auf der konsole auch anmelden kann. unter bind-address steht auch die richtige ip des servers.

was kann das noch sein?

gruesse rene
Zuletzt geändert von rene04 am 12.12.2005 18:12:44, insgesamt 1-mal geändert.

metacyborg
Beiträge: 48
Registriert: 19.12.2004 18:20:01

Beitrag von metacyborg » 07.12.2005 12:12:03

log dich nochmal lokal ein und gib folgenden sql befehl ein:
mysql> select host, user, password from user;
host zeigt dir hier an, von welchem host aus du mit welchem nuter auf die datenbank zugegriffen werden darf. der eintrag "%" ist aus sicherheitsgründen natürlich nicht bei root eingestellt, nur "localhost", ansonsten ist die angriffsfläche, die mysql dann hackern bieten würde, zu gross.
überlege, ob du wirklich ein vom internet zugänglichen root user benötigst, evtl. tut es ja auch ein benutzer speziell für eine datenbank? evtl. kannst du mit phpmyadmin genug arbeit erledigen? steht der rechner bei dir zu hause und zugriff von aussen ist sowieso nicht möglich, dann könntest du gefahrlos ein "%" bei root in der spalte host eintragen.

lies ein tutorial zu mysql, dass ist die "standardanfängerfrage" gewesen und wird normal in jeder einführung zu mysql abgehandelt. ähnlich übliche probleme werden dir schon in den nächsten schritten wieder begegnen.

mfg

m

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 07.12.2005 12:17:27

bei dem befehl bekomme ich cmsdb.user doesnt exists.

das ist nur lokal, deshalb auch root zugriff.

ich versteh das nicht. hab das schonmal gemacht und da gings easy mit root passwort und bind-address.

gruesse rene

metacyborg
Beiträge: 48
Registriert: 19.12.2004 18:20:01

Beitrag von metacyborg » 07.12.2005 13:04:23

rene04 hat geschrieben:bei dem befehl bekomme ich cmsdb.user doesnt exists.
gut, das war unvollständig. du hast die datenbank cmsdb in gebrauch. zuerst die richtige datenbank auswählen:
mysql> use mysql;
und dann das select kommando
mysql> select host, user, password from user;
so sollte es erst einmal weiter gehen

mfg

m

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 07.12.2005 13:25:35

also da steht was von:

localhost root 89dfg98g7dfg
linux-test root
localhost debian-sys-maint 90gfg78fd908g0df

kann das etwas mit meiner /etc/hosts zu tun haben?

gruesse rene

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.12.2005 13:46:16

Hm, ich glaube, du solltest wirklich erstmal http://dev.mysql.com/doc/refman/4.1/en/ ... ystem.html lesen. Da wird das alles erklaert, wie das MySQL-Berechtigungssystem funktioniert.

Dann mal zu deiner Ausgabe:
So wie das aussieht, hast du bei den Berechtigungen nur den Zugriff von root von localhost und linux-test erlaubt. Was fehlt ist ein entsprechender Eintrag, der fuer deine Quell-IP passt, sprich fuer den Client, von dem aus du connecten willst.
Ich weiss nicht, welche Rechte der mysql administrator braucht, aber ich tippe mal auf sowas in der Richtung:

Code: Alles auswählen

GRANT ALL ON *.* TO root@'192.58.197.0/255.255.255.0' IDENTIFIED BY '<Passwort>';
Damit wuerde zum Beispiel der Zugriff auf alle Datenbanken fuer den Benutzer root aus dem Subnetz 192.58.197.0/24 erlaubt, wobei das Passwort dabei <Passwort> ist.
Nach diesem Kommando brauchst du eventuell noch ein

Code: Alles auswählen

FLUSH PRIVILEGES;
Wie gesagt, naeheres siehe die MySQL-Anleitung.

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 07.12.2005 13:55:19

was ich eben ÜBERHAUPT nicht verstehe ist: ich habe schonmal nen mysql-server für unser wiki aufgesetzt. da hat es gereicht die bind-address zu ändern in die richtige IP. das war alles was zu tun war!!!

und nun soll auf einmal alles VIEL komplizierter sein? ja bin ich denn hier bei oracle?

habe mal die zeilen eingegeben, hat aber rein garnichts gebracht :(

gruesse rene

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 07.12.2005 14:01:17

da fehlte ein PRIVILEGES in der Befehlszeile! Nun hauts hin :) aber wieso zum teufel reicht es nicht aus die bind-address anzupassen? :?:

gruesse rene

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von herrchen » 07.12.2005 15:10:56

rene04 hat geschrieben:aber wieso zum teufel reicht es nicht aus die bind-address anzupassen?
lies' endlich den link von "nepos".

herrchen

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 07.12.2005 16:09:18

Weil dem MySQL-Server es total schnuppe is, an welche IP er gebunden ist. Das wichtige ist, von welcher IP deine Verbindungsanfrage kommt. Und genau dafuer ist die 1. Spalte in der Tabelle user wichtig. Hier checkt der MySQL-Server, ob die Verbindung zu dem dort hinterlegten Wert passt. Falls das nicht der Fall ist -> Access denied und aus die Maus ;)
Und ja, lies dir bitte mal die Doku durch.

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 07.12.2005 16:12:04

alles klar, ich werds mal lesen morgen früh.

danke.

gruesse rene

Antworten