PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL vom Client aus nicht erreichbar



pixel
05.11.03, 11:23
Hi@all

ich habe auf meinem lokalen Server mysql installiert was auch läuft. Am Server lokal kann ich MySQL administrieren. Nun möchte ich jedoch vom Linux-Client aus mit mysqlcc den Server admninistrieren. Am MySQL-Server habe ich den Login ohne Passwort deaktiviert und für den User 'root' ein Passwort definiert d.h. am Server lokal kann ich nur mit dem Befehl 'mysql -p' und der anschliessenden Passworteingabe in die MySQL-Konsole einloggen.
Standardmäßig ist jedoch der Zugriff von root von einem anderen Rechner aus nicht zugelassen. Ich möchte jedoch das sich root aus dem LAN heraus (und nur da!) von jedem Rechner einloggen kann. Also bin ich am Server in die MySQL-Konsole und habe ein:
GRANT ALL PRIVILEGES on db.* to root@'%.mydomain';
gemacht. Hat auch ohne Probleme geklappt. Jedoch erhalte ich beim Versuch mich vom Client aus zu verbinden nochimmer die Fehlermeldung:
[Servername] ERROR 1045: Access denied for user: 'root@myhost.mydomain' (Using password: YES)

An was kann das liegen?

Gruß Pixel

pixel
05.11.03, 12:56
Hi@all,

ich habe mal ein wenig im Web gestöbert und dort einen Hinweis gefunden das ich in der /etc/my.cnf den Eintrag:

skip-networking

aktivieren muß. Nachdem ich das getan habe erhalte ich eine andere Fehlermeldung:

[Servername] ERROR 2013: Lost connection to MySQL server during query

:confused:

Gruß Pixel

Baldrug
05.11.03, 15:47
Sidn auch Benutzer eingerichtet die von aussen die Berechitgung haben?

Wenn nicht macht mysql automatisch die Leitung zu.

und ich hab das Problem mit Bind-Address in my.cnf gelöst

da war 127.0.0.1 und hab da einfach meine IP eingetragen (was natürlich einen Sicherheitsverlust darstellt)

pixel
05.11.03, 16:11
Hi@all,

Benutzer habe ich noch keine angelegt. Im Moment soll lediglich root auf MySQL zugreifen können und dieser existiert ja in MySQL. Die ist ersichtlich wenn ich mich lokal anmelde:
'mysql status'

mysql> status
--------------
mysql Ver 12.21 Distrib 4.0.15, for suse-linux (i686)

Connection id: 9
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: less
Using outfile: ''
Server version: 4.0.15
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /data/mysql/mysql.sock
Uptime: 3 hours 46 min 8 sec

Threads: 1 Questions: 4 Slow queries: 0 Opens: 6 Flush tables: 1 Open tables: 0 Queries per second avg: 0.000

Was mir auch noch aufgefallen ist. Gemäß MySQL-Buch wollte ich das root-Passwort für den lokalen Zugriff setzen hierzu sollte ich folgende Befehle ausführen:

mysqladmin -u root -h localhost passwort xxx
mysqladmin -u root -h rechnername passwort xxx

Der erste klappt auch ohne Probleme, beim zweiten erhalte ich folgende Meldung:

mysqladmin: connect to server at 'darwin' failed
error: 'Lost connection to MySQL server during query'

obwohl die Namensauflösung problemlos funktioniert.

Hoffentlich hat einer von euch eine Idee?

Gruß Pixel

pixel
05.11.03, 18:04
Hi@all,

ich habe nun das komplette Kapite der Dokumentation durchgelesen und auch alle Verbindungstests (lokal) durcjgeführt. Das sieht alles gut aus:

mysqlshow -p
Enter password:
+-----------+
| Databases |
+-----------+
| mysql |
| test |
+-----------+
darwin:~ # mysqlshow -p mysql
Enter password:
Database: mysql
+--------------+
| Tables |
+--------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+--------------+
darwin:~ # mysql -p -e "select host,db,user from db" mysql
Enter password:
+--------------+---------+------+
| host | db | user |
+--------------+---------+------+
| % | test | |
| % | test\_% | |
| %.dreampixel | db | root |
+--------------+---------+------+

Ich vesteh's nicht.

Gruß Pixel

Jinto
06.11.03, 15:26
Ist in der Tabelle user festgehalten, dass root auch von anderen Computern zugreifen darf?

pixel
09.11.03, 12:05
Ist in der Tabelle user festgehalten, dass root auch von anderen Computern zugreifen darf?
Wie oben geschrieben habe ich:

GRANT ALL PRIVILEGES on db.* to root@'%.mydomain';
Durchgeführt. Ist dadurch gewährleistet das root von anderen Rechnern aus dem LAN zugreifen darf?
Dies Ausgabe:

+--------------+---------+------+
| host | db | user |
+--------------+---------+------+
| % | test | |
| % | test\_% | |
| %.dreampixel | db | root |
+--------------+---------+------+
hat mich zur Annahme veranlasst das dies so ist.

Gruß Pixel

Jinto
09.11.03, 15:36
Diese Rechte werden aber nicht in der db Tabelle festgelegt (wie ich bereits schrieb): http://www.mysql.com/doc/en/GRANT.html

pixel
10.11.03, 10:39
Ist in der Tabelle user festgehalten, dass root auch von anderen Computern zugreifen darf?ok, und wie mach ich das?

Gruß Pixel