alternative mysql-installation ohne apt-get, localer zugriff

MySQL, PostgreSQL, SQLite
linus123
Posts: 5
Joined: 2004-11-11 16:18

alternative mysql-installation ohne apt-get, localer zugriff

Post by linus123 » 2004-11-17 17:23

hallo,
ich wollte mit apt-get mysql4 installieren (auf Debian3.0, Kernel 2.2.2), was aber nicht funktioniert.
Deswegen bin ich nach der folgenden Installaionsanweisung vorgegangen:
http://www.marmotli.ch/mysql/node8.html

Code: Select all

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 &
ES GIBT KEINE my.cnf DATEI!!!!!!!!!

der mysqld läuft auf port 3306 (das bestätigte ein portscann). Außerdem kann ich mit MySQL-ControlCenter von einem entfernten Windows-NT-Rechner auf die Datenbank zugreifen. D.h. also, ich kann von einem anderen PC aus auf diese Mysql-DB zugreifen.

Nun habe ich ein Java-Programm zum Testen geschrieben, der lokal auf dem Debian-Rechner laufen und die MYSQL-DB "meineDB" auslesen soll.

Code: Select all

import java.sql.*;

public class Select {

	public static  void main(String[] args) {
        try {
            String url = "jdbc:mysql://localhost/meineDB";;
            Connection conn;
            Statement stmt;
            ResultSet rslt;
            
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
            
            conn = DriverManager.getConnection(url,"FRITZ","GEHEIM");
            
            stmt = conn.createStatement();
            rslt = stmt.executeQuery("SELECT * FROM meineTabelle;");
            
            ....
            ....
            conn.close();
        }
        catch( Exception e )
         {
	    }
    }
}
danach habe ich in /etc/profile den CLASSPATH zum JDBC-TReiber :

export CLASSPATH =.:/usr/local/java/current/jre/lib/ext/mm.mysql-2.0.14-bin.jar

wenn ich das java-Programm laufen lasse, kommt die meldung:

ava.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
Wie gesagt: der Server läuft auf 3306, sonst könnte ich von NT-Rechner nicht darauf zugreifen.
Nach 4 Tagen bin ich mit meinem Latein am ende :cry:

linus123
Posts: 5
Joined: 2004-11-11 16:18

Re: alternative mysql-installation ohne apt-get, localer zugriff

Post by linus123 » 2004-11-19 12:48

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: Select all

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: Select all

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

Danke an alle