linux mysql keine verbindung

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
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 Programm MySQLControlCenter von einem Windows-NT Rechner problemlos auf den Mysql-Server auf dem Debianrechner zugreifen.

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

Code:
import java.sql.*;

public class Select {
    static public void main(String[] args) {
        try {
            String url;
            Connection conn;
            Statement stmt;
            ResultSet rslt;
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            url = "jdbc:msql://localhost:3306/t2";
            conn = DriverManager.getConnection(url, "otto", "geheim");
            stmt = conn.createStatement();
            rslt = stmt.executeQuery("SELECT * FROM Questions");
            while( rslt.next() ) {
                System.out.println("blablblbala");
            }
            conn.close();
        }
        catch( Exception e ) {
        }
    }
}

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)

derMysql-Server läuft definitiv. Usernamen und Passwort stimmen.

danke bye[/code]
 
Anonymous hat gesagt.:
ich habe mysql4 installiert (Debian3.0) und zwar nach dieser Vorgehensweise (nicht mit apt-get).

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

Code:
...
   url = "jdbc:msql://localhost:3306/t2";
                ^^^
...

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)
[/code]

Ähem, könnte es sein, dass du das das oben gekennzeichnete Wort falsch geschrieben hast?

Ich hätte statt "msql" -> "mysql" geschrieben.
 
habe falsch getippt.
in wirklichkeit steht dort:

jdbc:mysql://localhost:3306/meineDatenbank
 
Füge einmal zu Beginn deiner Klasse folgende Zeile ein:
Code:
	public static Connection conn = null;

und im try...catch-Block die folgende Zeile einfügen, d.h. die vorhandene ersetzen:
Code:
Class.forName("com.mysql.jdbc.Driver").newInstance();

Bei mir hat es dann funktioniert, und zwar sowohl mit "localhost" als auch mit "127.0.0.1".

Hoffe es hilft.
 
gut beobachtet 🙂

Das Prog kann doch gar nicht übersetzt werden, weil die lokalen Variablen
Code:
           String url;
            Connection conn;
            Statement stmt;
            ResultSet rslt;
nicht initialisiert sind???
 
Bleiglanz hat gesagt.:
gut beobachtet 🙂

Das Prog kann doch gar nicht übersetzt werden, weil die lokalen Variablen
Code:
           String url;
            Connection conn;
            Statement stmt;
            ResultSet rslt;
nicht initialisiert sind???

Das stimmt nicht!


Zum Ersteller:

Warum blendest du mit dem try catch block alle Fehlermeldngen aus?
Das muss mysql und nicht msql heißen.

Wenn du die gepostete Meldung bekommst, führst du was anderes aus.

Gruß Jaraz
 
Das stimmt nicht!
ja- sorry, wieder mal käse gepostet
alle 4 werden ja in den nächsten 4 Zeilen initialisiert

zum Problem: eigentlich sollte

java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused

kommen, wenn der Server nicht läuft, also liegts möglicherweise an etwas anderem, eine kurze Google suche findet
Debian mysqld policy is to not listen on port 3306 (even though
port was set in /etc/mysql/my.cnf). I had to comment out
"skip-networking" in the config file to make mysql listen on
both sockets and an TCP/IP port.
 
Jaraz hat gesagt.:
Zum Ersteller:

...
Das muss mysql und nicht msql heißen.
..

Das hatten wir schon. Schau dir einmal die Postings von oben nach unten aufmerksam an. Der Poster hatte bereits geschrieben, dass er sich vertippt hatte.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben