bash># ls
. .. Scrabblet sql_test.class sql_test.java
liegt sie doch!?
ist es nicht vollkommen wurst, wie ich meine "klassen" nenne?
von dieser standardiesierung halte ich nicht viel, im ernstfall werd ich mich aber bemühen (;
@the29
ich glaub, du hast wohl nicht alles gelesen (;
gugg mal mein problem "a.)".
Achja, die Namesgebung ist was für die Studenten die das gelernet haben....
Die lernen viele Sachen, so wie das eine Funktion niemals mehr als 40 Zeilen haben sollte, aber solche Sachen kannst in der Praxis in den Wind schießen!
Hauptsache der Name sagt was aus und da sind _ eigentlich auch vorteilhaft
Solange deine Klassen nicht __1 oder __a heißen sollte das egal sein!
bash># ls
ist es nicht vollkommen wurst, wie ich meine "klassen" nenne?
von dieser standardiesierung halte ich nicht viel, im ernstfall werd ich mich aber bemühen (;
6aholic.
übrigenz passiert das hier bei eingabe ohne den -cp klasse parameter...
bash> # /usr/local/java/jdk1.5.0/bin/java sql_test
Treiber kann nicht geladen werden: com.mysql.jdbc.Driver
Verbindung fehlgeschlagen: No suitable driver
java.net.SocketException: java.net.ConnectException: Connection refused
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.ja
va:151)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1699)
at com.mysql.jdbc.Connection.<init>(Connection.java:405)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:268)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at sql_test.main(sql_test.java:20)
Das verstehe ich jetzt nicht. Das Einzige, was du jetzt meinen könntest, ist, dass halt skip-networking in der my.cnf gesetzt ist, aber das ist ja nicht debianspezifisch.
ports sind frei und datenbank läuft.
in der shell mit php zb gehts ya auch ohne probleme.
und bei allem respekt hr. foobar wollen wir doch bei den tatsachen bleiben, denn ich finde nichts wo du das geschrieben hast.
wer also nicht schreibt und dann doch denkt er hätte es geschrieben, ist klar im nachteil (;
Bei PHP und der Shell geht es aber meistens über den entsprechenden Socket, nicht über 3306, es sei denn, man gibt das explizit an.
Schau doch einfach mal mit netstat nach, ob der mysqld wirklich an seinem Port hängt:
Code:
netstat -pltn | grep mysqld
(und ich schaue nachher, ob das wirklich notwendig ist, dass man für Java den Port offen haben muss - aus Sicherheitsgründen ist nämlich genau das eigentlich eine schlechte Idee)
und bei allem respekt hr. foobar wollen wir doch bei den tatsachen bleiben, denn ich finde nichts wo du das geschrieben hast.
wer also nicht schreibt und dann doch denkt er hätte es geschrieben, ist klar im nachteil (;
ich habs versucht, ist aber wohl nicht ganz erfolgreich.
unter
bash> # netstat -pltn | grep mysqld
kommt zwar noch nix, aber das skip-networking hab ich maskiert.
ich hab mal ein bisschen geguggt und auch was gefunden...
und ya, leider...
wenn ich allerdings die lösung so teile, kommt bei mir immernoch der selbe fehler...
scheint also nicht die selbe ursache zu sein, geht wohl aber schon in die richtige richtung...
hier ein kleiner, interessanter ausschnitt:
zitat:
"// ich denke wie sie sollen:
// 127.0.0.1 localhost
// # special IPv6 addresses
// ::1 localhost ipv6-localhost ipv6-loopback
meine /etc/hosts enthält auch diese Zeilen. Ich habe festgestellt, dass das Problem nicht auftritt, wenn ich die untere Zeile (die für IP-V6) kommentiere. Dann kann das System den Namen "localhost" mit Hilfe der ersten Zeile auflösen und dann klappt es...
Also wohl wirklich ein Problem mit der Namensauflösung bei IP-V6?"
# apt-get install nmap
bash: apt-get: command not found
# apt -get install nmap
bash: apt: command not found
# -get install nmap
bash: -get: command not found
# install nmap
install: too few arguments
Try `install --help' for more information.
# install
install: too few arguments
Try `install --help' for more information.
ich hatte mich doch für die langweilge yast2 entschieden
der mysqlserver ist offen, auf den normalen port, wie ich das so sehe
das sagt also nun nmap:
Starting nmap V. 3.00 ( www.insecure.org/nmap/ )
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1592 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop-3
111/tcp open sunrpc
465/tcp open smtps
995/tcp open pop3s
3306/tcp open mysql
Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds
ich dank euch schonmal an eurer anteilnahme,
dir besonders, foobärchen
# /usr/local/java/jdk1.5.0/bin/java -cp .:/usr/local/java/sql.jar sql_test
Verbindung fehlgeschlagen: null, message from server: "Host 'localhost.localdomain' is not allowed to connect to this MySQL server"
Mach sowas aber nicht auf einem Produktionsserver: GRANT ALL ist nicht so toll, und noch weniger in Verbindung mit % als Host.
Besser: Nur die wirklich benötigten Rechte übergeben, und entweder localhost.localdomain als host in der mysql-Table, oder aber einfach localhost als Host beim Connect angeben. Alternativ /etc/hosts so bearbeiten, dass da in der Zeile mit localhost.localdomain noch ein alleinestehendes localhost steht, dann sollte das auch so funktionieren.