17. september 2005 - 15:13
Der er
46 kommentarer og 1 løsning
problem med at komme i kontakt med min database
Hej Eksperter, Jeg forstår ikke hvorfor jeg ikke kan få kontakt til min database. Jeg har oprettet en bruger på følgende måde GRANT ALL PRIVILEGES ON MINDATABASE.* TO 'MINBRUGER'@'%' IDENTIFIED BY 'MITPASSWORD'; og ser også ud til at virke, men når jeg prøver at connecte, via MySQL front så bliver jeg afvist.
Annonceindlæg fra Pointsharp
17. september 2005 - 16:14
#1
Har du sagt "flush privileges" (eller genstartet mysql) ?
17. september 2005 - 16:17
#2
begge dele :-)
17. september 2005 - 16:19
#3
Din mysql-version? Og prøver du at forbinde fra samme maskine som mysql kører på, eller fra en anden?
17. september 2005 - 16:21
#4
MySQL version 4.1.11 og jeg prøver at forbinde fra en anden maskine (192.168.1.5)
17. september 2005 - 16:23
#5
Ok, så er der 1) Noget med en ny, og sikrere, måde at håndtere passwords på, men 2) det første er nok en firewall, der blokerer. Dine OS'er ?
17. september 2005 - 16:26
#6
Den jeg sidder på er en w2k og MySQL ligger på en Mandrake 10.2. Jeg bruger Guarddog på Mandrake, men har åbnet internt og eksternt
17. september 2005 - 16:28
#7
Det skal siges at jeg godt kan få kontakt via webmin
17. september 2005 - 16:29
#8
Problemet er faktisk at jeg ikke kan få forbindelsen til at virke i en JAVA app.
17. september 2005 - 16:35
#9
Men jeg kan heller ikke få det til at virke igennem MySQL front
17. september 2005 - 16:44
#10
Det er lidt for mærkeligt. Jeg kan heller ikke connecte direkte på maskinen med det brugernavn og password jeg har angivet
17. september 2005 - 16:48
#11
Ok, lad os tage et par trin af gangen. 1) Prøv med telnet 192.168.1.xxx 3306 i en dos-prompt, for at se om der overhovedet er noget der svarer. Nogle, meget fornuftige og sikre, opsætninger af mysql har simpelt slået muligheden for forbindelse via port 3306 helt fra. Prøv ovenstående på begge maskiner.
17. september 2005 - 16:51
#12
Det kunne man ikke på nogle af maskinerne
17. september 2005 - 16:52
#13
connection refused
17. september 2005 - 16:52
#14
Så skal du til at grave lidt i konfigurationsfilerne for mysql. Port 3306 (networking hedder det vist) er nok helt slået fra.
17. september 2005 - 16:58
#15
Nu er jeg ikke den store haj til Linux. Kan du komme med et bud på hvor jeg skal kigge
17. september 2005 - 17:23
#16
Jeg kan slet ikke finde ud af hvad problemet er. Jeg har kigget i my.cnf men der står intet om noget der skulle være lukket
17. september 2005 - 17:57
#17
Står der i en linie noget med "networking" ?
17. september 2005 - 17:58
#18
Det står der intet om
17. september 2005 - 19:19
#19
Ok, jeg kan se een linie i min my.cnf der hedder #skip-networking Har du een der ligner?
17. september 2005 - 20:48
#20
desværre ikke
17. september 2005 - 20:52
#21
Mnjohjahhmm. Hvad står der så i din my.cnf ?
17. september 2005 - 20:59
#22
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with old and
# shorter password hash.
# Reference:
http://dev.mysql.com/doc/mysql/en/Password_hashing.html old_passwords=1
[mysql.server]
user=mysql
basedir=/var/lib
[mysqld_safe]
err-log=/var/log/mysqld/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
~
~
17. september 2005 - 21:09
#23
Der står ikke andet
17. september 2005 - 21:13
#24
Der er iøvrigt rimeligt syret. Før fik jeg en fejlside, nu får jeg den rigtige side bare med fejlen øverst på siden.
http://www.flexbreeze.dk/ tryk på login, og så på login
17. september 2005 - 21:13
#25
Ja, så er der ikke forbindelse på port 3306. Der er ikke andre configurationsfiler, eller eksempler?
17. september 2005 - 21:15
#26
ikke så vidt jeg ved
17. september 2005 - 21:18
#27
Det er bare meningen at localhost skal have forbindelse
17. september 2005 - 21:18
#28
Der er jo hosts.allow og hosts.deny filerne
17. september 2005 - 21:21
#29
Kan det være det som er galt
17. september 2005 - 21:34
#30
Nu forstår jeg ikke lige: før fik jeg indtryk af at du sad ved een maskine, med en klient, og ville forbinde dig til mysql på en anden maskine. Nu siger du at den bare skal virke på localhost?
17. september 2005 - 21:41
#31
i princippet er der tale om en maskine som skal kunne tilgå MySQL lokalt via JDBC. Det er faktisk ikke meningen at der skal være forbindelse på andre måder. I midlertid har jeg jo ikke været i stand til at få det til at virke.
17. september 2005 - 21:43
#32
Det gør mig ikke så meget hvis der er adgang udefra. Jeg lader jo bare være med at portforwarde i min router
17. september 2005 - 21:43
#33
Ok - med jdbc? Din connectionstring (uden password)?
17. september 2005 - 21:47
#35
Yeah, well, som man siger: "Java doesn't support unix domain sockets." En skam, da der ikke er grund til at åbne porte uden grund. Men lad os se hvad der skal til. Prøv at tilføje port = 3306 i din my.cnf fil. Der skal nok genstartes.
17. september 2005 - 21:47
#36
Jeg har gjort det 100 gange før. Forskellen er at jeg nu bruger mod_jk så Apache arbejder sammen med Tomcat
17. september 2005 - 21:53
#37
Jeg har tilføjet linien og jeg rebooter hele maskinen
17. september 2005 - 21:54
#38
Før har jeg kørt Tomcat som standalone, men jeg vil også gerne supportere PHP
17. september 2005 - 22:02
#39
Har jeg behov for en nyere JDBC driver
17. september 2005 - 22:02
#40
Den jeg bruger nu hedder mysql-connector-java-3.0.17-ga-bin.jar
18. september 2005 - 10:17
#41
Jeg har prøvet at tilføje linien i my.cnf, men det hjalp ikke. Jeg har også prøvet at hente en nyere JDBC driver, det hjalp heller ikke.
18. september 2005 - 13:12
#42
Det var en linie i /etc/sysconfig/mysqld ... --skip-networking der var problemet. Desværre løste det ikke mit problem med JDBC, for det virker stadigvæk ikke. Så vidt jeg ved skal driveren ligge i /WEB-INF/lib. Det underlige er bare at hvid jeg fjerner den derfra så får jeg stadigvæk en exception
18. september 2005 - 14:09
#43
Ok, men du skal også prøve 1) telnet-eksemplet ovenfor (check om der overhovedet er forbindelse) 2) En anden mysql-klient (check om du kan logge ind) Når de 2 er i orden så kan vi jo kigge på jdbc.
18. september 2005 - 16:14
#44
Jubiii. Fejlen er fundet. Jeg skulle bare skrive min klasse lidt om, så virkede det :-)
18. september 2005 - 16:16
#45
public Databaseforbindelsemysqlprepared(String driver, String data, String user, String password) { try { Class.forName(driver); conn = DriverManager.getConnection(data, user, password); } catch(Exception s) { System.out.println("SQL dataforbindelse fejlede"+s); } }
18. september 2005 - 16:17
#46
Tak for hjælpen :-)
15. oktober 2005 - 08:17
#47
Jeg lukker :-)
Computerworld tilbyder specialiserede kurser i database-management