mysql, keine Verbindung

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
zg
Beiträge: 15
Registriert: 29.10.2004 12:11:47

mysql, keine Verbindung

Beitrag von zg » 16.11.2004 16:37:35

hallo,

ich habe mysql4 installiert (Debian3.0) und zwar nach dieser Vorgehensweise (nicht mit apt-get).

shell>groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &

(Übrigens: eine my.cnf-Datei gibt es nicht)
Ein portscan zeigt, dass port 3306 offen ist. Ich konnte mit dem Progra MySQLControlCenter von einem Windows-NT Rechner problemlos auf den Mysq-Server auf dem Debianrchner zugreifen.

Ich habe dann ein einfaches Java-Programm geschrieben und auf dem debianrechner ausgeführt.

Es kommt die Fehlermeldung
java.sql.SQLException: Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.lang.NumberFormatException)

derMysq-Server läuft definitiv. Usernamen und Passwort stimmen. ich bekommen einen mysql-Anfall :?

Benutzeravatar
Bert
Beiträge: 3751
Registriert: 16.07.2002 14:06:52
Wohnort: Dresden
Kontaktdaten:

Beitrag von Bert » 16.11.2004 16:54:53

Von Office verschoben.

Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Re: mysql, keine Verbindung

Beitrag von dominator » 16.11.2004 22:36:22

zg hat geschrieben: ...
Cannot connect to MySQL server on localhost:3306
...
Username, Passwort und Host stimmen in deinem Programm bzw in der MySQL-Datenbank ?
Siehe MySQL Handbuch Kapitel 4.2.5 und Folgende :idea:
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

zg
Beiträge: 15
Registriert: 29.10.2004 12:11:47

Beitrag von zg » 17.11.2004 17:29:51

ja, die stimmen alle

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 18.11.2004 09:43:03

was sagt denn ein

Code: Alles auswählen

mysql -u "dein_username" -p "deine_datenbank"
nach Eingabe deines Passwortes auf der Konsole :?:

und

Code: Alles auswählen

lsof -Pi | grep mysql
:?:

bzw

Code: Alles auswählen

ps xau | grep mysql
:?:
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

zg
Beiträge: 15
Registriert: 29.10.2004 12:11:47

Beitrag von zg » 18.11.2004 15:34:07

hallo,
ich bin so vorgegangen:

1. mysqld starten

Code: Alles auswählen

/usr/local/mysql/bin#  ./safe_mysqld --user=mysql 

Ausgabe:
[1] 31866
meinRechner:/usr/local/mysql/bin# Starting mysqld daemon with databases from /usr/local/mysql/data
2. /usr/local/mysql/bin# ./mysql -u "FRITZ" -p "test"

Code: Alles auswählen

Password:******
Danach erscheint  der mysql> -Prompt und ich kann normal arbeiten.
status liefer

Code: Alles auswählen

./mysql  Ver 14.7 Distrib 4.1.7, for pc-linux (i686)

Connection id:          2
Current database:       test
Current user:           fritz@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         4.1.7-standard
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 4 min 40 sec

Threads: 1  Questions: 3  Slow queries: 0  Opens: 11  Flush tables: 1  Open tables: 0  Queries per second avg: 0.011
3. lsof -Pi | grep mysql liefert

Code: Alles auswählen

mysqld  31953 root    3u  IPv4 364788       TCP *:3306 (LISTEN)
mysqld  31955 root    3u  IPv4 364788       TCP *:3306 (LISTEN)
mysqld  31956 root    3u  IPv4 364788       TCP *:3306 (LISTEN)
mysqld  31957 root    3u  IPv4 364788       TCP *:3306 (LISTEN)
4. ps xau | grep mysql

Code: Alles auswählen

root     31625  0.0  2.2  1768  660 ttyp2    S    14:49   0:00 ./mysql -u FRITZ-p test
root     31920  0.0  3.3  2252 1016 ttyp0    S    15:03   0:00 sh ./safe_mysqld --user=mysql
mysql    31953  0.1 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31955  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31956  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31957  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31958  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31959  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31960  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31961  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31962  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
mysql    31963  0.0 36.4 23584 10908 ttyp0   S    15:03   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
root     31967  0.0  2.3  1788  688 ttyp0    S    15:07   0:00 ./mysql -u FRITZ-p test
mysql    31968  0.0 36.4 23584 10908 ttyp0   S    15:07   0:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --pid-file=/usr/local/mysql/data/geologe.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock
root     31978  0.0  1.6  1516  484 ttyp1    S    15:12   0:00 grep mysql
5.ich starte auf localhost (dort wo sich auch der mysql-Server befindet) ein einfaches JAVA-programm. Fehlermelduing:

Code: Alles auswählen

 
java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
Der EXTERNE Zugriff auf MYSQL (z.B. über MysSQL-ControlCenter) funktioniert ausgezeichnet. Nur der LOKALE Zugriff nicht.


Bin echt mit meinem Latein am ende. Brauche die Datenbank fürs seminar :roll:

michaelarban
Beiträge: 17
Registriert: 04.11.2004 10:39:43

problem gelöst, nur ein treiber-problem

Beitrag von michaelarban » 19.11.2004 12:37:04

hi,

ich weiss jetzt endlich woran es gelegen hat (nach fast 1 Woche).

ich hatte folgenden Classpath:
CLASSPATH=.:/usr/local/java/current/lib:/usr/local/java/current/jre/lib/ext/c3p0-0.8.4.5.jar:/usr/local/java/current/jre/lib/ext/mm.mysql-2.0.14-bin.jar:/usr/local/java/current/jre/lib/ext/mysql-connector-java-3.0.16-ga-bin.jar

Im java-Programm stand vorher

Code: Alles auswählen

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

zu Hause auf meinem Windows-Pc hatte ich diese einstellung und es lief ganz prima.
Auf dem Debian-Rechner funktionierte diese Einstellung nicht; es kam die obige verwirrende Nachricht, die mich auf die falsche Pfärte führte. Ich dachte , irgendetwas an der mysql-Konfigurationsdatei my.cnf stimme nicht.

Ich habe dann diesen Code genommen:

Code: Alles auswählen

Class.forName("com.mysql.jdbc.Driver").newInstance();
und es lief auf anhieb. :D

Danke an alle

Antworten