Zugriff auf MySQL5.0 nur von der Console möglich

MySQL, PostgreSQL, SQLite
gumble
Posts: 18
Joined: 2007-04-12 14:33

Zugriff auf MySQL5.0 nur von der Console möglich

Post by gumble » 2007-04-12 15:08

Hallo,
ich habe auf einem bestehendem Debian mit Plesk 8.1.1 (Plesk-Version psa v8.1.1_build81070322.16 os_Debian 3.1 ; Betriebssystem Linux 2.6.8-3-686-smp) und MySQL 4.1 Server, ein MySQL 5.0.37 installiert.

Das MySQl 5 läuft auf Port 3307 und lässt sich auch über die Console ansprechen und Einträge vornehmen.

Das Problem ist allerdings der Zugriff von "extern". Ein telnet auf Port 33307 von einem anderen Server gibt mir immer nur "LHost "xxx.xxxx.xx" is not allowed to connect to this MySQL serverConnection closed by foreign host". Von localhost bekommt man allerdings einen Prompt.
In der my.cnf ist skip-networking auskommentiert und auch sonst eigentlich alles so eingestellt das solche in Zugriff erlaubt ist.

Versuch ich nun auf den Server per phpMyAdmin zuzugreifen, bekomm ich immer ein "#1045 - Access denied for user 'root'@'localhost' (using password: YES) "

Auf die MysQL 4 DB kann ich Problemlos peer telnet und PHP zugreifen.

Die Condatei des phpMyAdmin habe ich auch für das MySQL 5 entsprechen angepasst:

$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = '3307'; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = '/var/run/mysqld5/mysqld.sock'; // Path to the socket - leave blank for default socket

Das MySQL 5 läuft mit folgenden Parametern auf dem Server:

7385 pts/1 S 0:00 /bin/sh /usr/local/mysql5/bin/mysqld_safe --datadir=/var/lib/mysql5 --pid-file=/var/lib/mysql5/soft-works.housingnetz.net.pid
7414 pts/1 S 0:00 /usr/local/mysql5/libexec/mysqld --basedir=/usr/local/mysql5 --datadir=/var/lib/mysql5 --user=mysql --pid-file=/var/lib/mysql5/soft-works.housingnetz.net.pid --skip-external-locking --port=3307 --socket=/var/run/mysqld5/mysqld.sock


Hat jemand vieleicht eine Idee wie ich es hinbekomme auf MySQl per PHP zuzugreifen??

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by isotopp » 2007-04-12 15:36

Gumble wrote:Hat jemand vieleicht eine Idee wie ich es hinbekomme auf MySQl per PHP zuzugreifen??

Code: Select all

# lsof -i -n -P | grep LIST
...

# grep bind-add /etc/my.cnf
...

# grep skip-netw /etc/my.cnf
...

gumble
Posts: 18
Joined: 2007-04-12 14:33

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by gumble » 2007-04-12 15:45

isotopp wrote:

Code: Select all

# lsof -i -n -P | grep LIST
...
Reicht die Zeile?
mysqld 7414 mysql 13u IPv4 22467 TCP *:3307 (LISTEN)
isotopp wrote:

Code: Select all

# grep bind-add /etc/my.cnf
...
grep bind-add /usr/local/mysql5/my.cnf => kein Eintrag
isotopp wrote:

Code: Select all

# grep skip-netw /etc/my.cnf
...
grep skip-netw /usr/local/mysql5/my.cnf => #skip-networking

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by isotopp » 2007-04-12 16:00

Gumble wrote:

Code: Select all

Reicht die Zeile?
mysqld    7414    mysql   13u  IPv4  22467       TCP *:3307 (LISTEN)
Da lauscht also ein mysqld auf *:3307, das ist so weit korrekt. Mit "mysql -h <deineip> -P 3307 -u root -p" solltest Du den ansprechen können. Wenn nicht, mal "iptables -L -n" checken.

gumble
Posts: 18
Joined: 2007-04-12 14:33

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by gumble » 2007-04-12 16:07

Versuche von der ssh Console:

/usr/local/mysql5/bin/mysql -h localhost -P 3307 -u root -p => Login klappt
/usr/local/mysql5/bin/mysql -h 127.0.0.1 -P 3307 -u root -p => Login klappt


/usr/local/mysql5/bin/mysql -h 62.141.58.43 -P 3307 -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'soft-works.housingnetz.net' (using password: YES)


:-(

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by isotopp » 2007-04-12 16:14

Gumble wrote:/usr/local/mysql5/bin/mysql -h 62.141.58.43 -P 3307 -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'soft-works.housingnetz.net' (using password: YES)
Ah, wir kriegen "Access denied" und nicht "Can't connect ... (111). Das ist ja schon mal was. Dann redest Du schon mit dem mysqld, nur der läßt Dich nicht rein.

Also mal

Code: Select all

mysql> select * from mysql.user where user = "root";

gumble
Posts: 18
Joined: 2007-04-12 14:33

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by gumble » 2007-04-12 16:32

isotopp wrote:

Code: Select all

mysql> select * from mysql.user where user = "root";
Ich hoffe mal das ist so lesbar?

Code: Select all

mysql> select * from mysql.user where user = "root";
+----------------------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-----               --------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+-------               -------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+-------               ---------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-               ------------+-----------------+----------------------+
| Host                       | User | Password                                  | Select_priv | Insert_priv | Update_priv | Delete_priv | Crea               te_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_d               b_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_v               iew_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions |                max_updates | max_connections | max_user_connections |
+----------------------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-----               --------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+-------               -------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+-------               ---------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-               ------------+-----------------+----------------------+
| localhost                  | root | *00A51F3F48415C7D4E8908980D443C29C69B60C9 | Y           | Y           | Y           | Y           | Y                          | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y                           | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y                             | Y                   | Y                  | Y                |          |            |             |              |             0 |                          0 |               0 |                    0 |
| soft-works.housingnetz.net | root |                                           | Y           | Y           | Y           | Y           | Y                          | Y         | Y           | Y             | Y            | Y         | Y          | Y               | Y          | Y          | Y                           | Y          | Y                     | Y                | Y            | Y               | Y                | Y                | Y                             | Y                   | Y                  | Y                |          |            |             |              |             0 |                          0 |               0 |                    0 |
+----------------------------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-----               --------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+-------               -------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+-------               ---------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-               ------------+-----------------+----------------------+
2 rows in set (0.00 sec)

mysql>
Ich glaub mal eher nicht.

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by flo » 2007-04-12 17:28

Für Isotopp schon ... :-)

Code: Select all

mysql> select * from mysql.user where user = "root" G;

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by isotopp » 2007-04-12 18:01

Gumble wrote:
isotopp wrote:

Code: Select all

mysql> select * from mysql.user where user = "root";
Ich hoffe mal das ist so lesbar?
Gut genug. Was Du hier hast sind 2 User, einer root@localhost und einer root@soft-works.housingnetz.net - in MySQL ist ein User nie "user", sondern immer "user"@"host". Du kannst also laut Tabelle von diesen beiden Hosts als root einloggen.

Wenn Du "root"@"soft-works.housingnetz.net" in "root"@"%" umänderst, kann jeder der das Paßwort kennt oder errät von überall im Internet auf Deinem Datenbankserver root werden. Wenn es das ist, was Du möchtest, führe

Code: Select all

mysql> update mysql.user set host = "%" where user = "root" and host = "soft-works.housingnetz.net";
mysql> flush privileges;
aus.

Wenn Dir das zu risikoreich ist, müssen wir uns überlegen, ob es da nicht bessere Lösungen gibt.

gumble
Posts: 18
Joined: 2007-04-12 14:33

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by gumble » 2007-04-12 20:45

isotopp wrote:

Code: Select all

mysql> update mysql.user set host = "%" where user = "root" and host = "soft-works.housingnetz.net";
mysql> flush privileges;
Hab ich gemacht, aber leider kommt auf der Console immer noch:

Code: Select all

soft-works:~# /usr/local/mysql5/bin/mysql -h soft-works.housingnetz.net -P 3307 -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'soft-works.housingnetz.net' (using password: YES)
Und auch mein phpMyAdmin meldet sich mit:

Code: Select all

#1045 - Access denied for user 'root'@'localhost' (using password: YES) 
:?

User avatar
isotopp
Posts: 471
Joined: 2003-08-21 10:21
Location: Berlin

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by isotopp » 2007-04-12 21:52

[quote="Gumble"]

Code: Select all

mysql> select * from mysql.user where user = "root";
| localhost                  | root | *00A51F3F48415C7D4E8908980D443C29C69B60C9 |
Der hat ein Paßwort - welches auch immer.

Code: Select all

| soft-works.housingnetz.net | root |                                           |
Der hier eher nicht. Das ist ja mal nicht so gut.

gumble
Posts: 18
Joined: 2007-04-12 14:33

Re: Zugriff auf MySQL5.0 nur von der Console möglich

Post by gumble » 2007-04-13 08:32

Das mit dem Passwort habe ich dann auch gesehen, daran lag es wirklich das man sich nicht von der Console einloggen konnte.

Mit dem PHP hat sich dann nach vielem Testne herausgefunden, das ich nur via Socket auf die 5er VErsion zugreifen konnte. Zugriffe via tcp, obwohl auf den Hostnamen und nicht auf localhost brach er immer beim Handshake ab.

Ich habe dann nochmal ein fertiges binary installiert und seltsamerweise lief es da nun, ich wusste ja nun wegen den Passwörter usw. Bescheid.
ICh vermute mal das irgendwas beim compilieren der ersten 5er VErsion falsch gelaufen ist :-/

Trotzdem möchete ich mal isotopp für die SUPER HILFE danken! Ohne die Ansätze hing ich wohl immer noch fest!