• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

MySQL zugriffs Problem ?

Status
Für weitere Antworten geschlossen.

Kazumi

Newbie
Hi, ich hoffe hier kann mir jemand helfen bin neu in Linux und hab ein Problem mit der MySQL installation von SuSe Linux. Sprich die wo automatisch bei einem Linux Server mit installiert wird.

Und zwar wenn ich mit einem PHP Script oder PHPmyAdmin auf die SQL Datenbank zugreifen will über die root zugänge die der server angelegt hat sagen wir jetzt als beispiel :
User : root
Passwort : Passwort

dann geht das ohne probleme mein Problem ist das ich ein Java Programm starten will über shell das auf sql zugreift wenn ich dieses Programm starte sagt es mir :

Exception in thread "main" java.sql.SQLException: Connections could not be acquired from the underlying database!

Ich habe die login daten und co zum SQL Server mehrmals getestet es stimmt 100% also scheint ein fehler im SQLServer vorzuliegen das er den Java zugriff nicht zuläst das Java Programm selbst ist auch fehlerfrei auf dem heim pc mit windows leuft es ohne probleme.

Ich hoffe jemand kann mir helfen woran es ligen könnte.

mfg
Kazumi
 

whois

Ultimate Guru
Hi

Ich habe einen SQL Error FAQ im Board hinterlegt hast du den dir mal angesehen?

Die Fehlermeldung deutet auf ein Übergabe Problem[kann sich unter im liegende Datenbank keine Rechte aneignen ]

Hast du keinen sonstigen Error Code `?
 
OP
K

Kazumi

Newbie
Hi.
Erstmal danke für die Antwort in vielen Boards bekommt man keine oder nur eine dumme bemerkung =(


Der start Prozess und die Fehlerausgabe sehen so aus :
Code:
a15163786:/home/L2DDE # sh ./start.sh
MLog clients using java 1.4+ standard logging.
Initializing c3p0-0.9.0 [built 08-??????-2005 15:47:30 +0400; debug? false; trac
e: 5]
Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@14a9972 [ con
nectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@be2
358 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 10
00, autoCommitOnClose -> true, automaticTestTable -> null, breakAfterAcquireFail
ure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.
c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnre
solvedTransactions -> false, identityToken -> be2358, idleConnectionTestPeriod -
> 0, initialPoolSize -> 1, maxIdleTime -> 0, maxPoolSize -> 50, maxStatements ->
 100, maxStatementsPerConnection -> 0, minPoolSize -> 1, nestedDataSource -> com
.mchange.v2.c3p0.DriverManagerDataSource@14ed9ff [ description -> null, driverCl
ass -> null, factoryClassLocation -> null, identityToken -> 14ed9ff, jdbcUrl ->
jdbc:mysql://127.0.0.1/DDE, properties -> {user=******, password=******} ], pref
erredTestQuery -> null, propertyCycle -> 300, testConnectionOnCheckin -> false,
testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ],
factoryClassLocation -> null, identityToken -> 14a9972, numHelperThreads -> 3 ]
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@119c082 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30).
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@eee36c -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30).
Exception in thread "main" java.sql.SQLException: Connections could not be acquired from the underlying database!
        at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:104)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:236)
        at com.mchange.v2.c3p0.PoolBackedDataSource.getConnection(PoolBackedDataSource.java:94)
        at net.sf.l2j.L2DatabaseFactory.<init>(L2DatabaseFactory.java:90)
        at net.sf.l2j.L2DatabaseFactory.getInstance(L2DatabaseFactory.java:109)
        at net.sf.l2j.Server.main(Server.java:67)
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
        at com.mchange.v2.resourcepool.BasicResourcePool.awaitAcquire(BasicResourcePool.java:970)
        at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:208)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:232)
        ... 4 more

Das komische ist der login root hat semtliche Rechte ich habs mit phpmyadmin extra überprüft und passwort so wie Datenbank sind auch richtig da manche PHP Scripte meiner Webseite auf genau die selbe art zugreifen sprich selbe Datenbank und selbe login daten.

Wenn ichd as besagte Programm auf meinem Notebook oder Heim PC starte funtzt es 1A das hab ich extra getestet da ich erst dachte das ich vielleicht mist gecodet habe und irgendwo ein Bug ist.
 
OP
K

Kazumi

Newbie
Ne Heim PC und Notebook laufen auf Windows XP und Windows 2000.
Meine vermutung ist das der SQL Server auf dem Linux nicht richtig eingestellt ist weil der root zugang und das root passwort für den SQL Server werden beim server initialisieren automatisch angelegt.
 

whois

Ultimate Guru
Hi

Den code habe ich auch überprüft der ist OK.

Kann natürlich sein das SQL auf Suse nicht richtig eingestellt ist.

Das ist online schwer zu beurteilen.

Vielleicht kannst du uns sagen was genau gemacht worden ist.
 

Günni

Newbie
@Kazumi

Hi,

zum Post vom 2005-Sep-25, 18:12:

Wenn du ein PHP-Script von einem Client aus aufrufst, wird das Script auf dem Server ausgeführt, also so, als wenn du selber am Server arbeitest.

Wenn du die Shell bemühst, um auf den Server zuzugreifen, so muß der Client, dessen Shell auf den Server zugreift, in der MySQL-Datenbank als Benutzer eingetragen werden.

Ich habe das zwar nicht mit Java gemacht, sondern mit einem MySQL-Client.
Also in der Form:

mysql –h hostname

Dann kam eine Fehlermeldung, dass der CLIENT, und nicht der Benutzer(user), keinen Zugriff hat.

Daraufhin habe ich den Computernamen des Clients in die MySQL-Datenbank eingetragen, funkt. auch mit IP-Adresse falls kein DNS verfügbar ist, und dann ging´s.

Vielleicht hapert´s bei Java am gleichen Problem.

Gruß
Günni
 
OP
K

Kazumi

Newbie
Hi

Danke für den Tip leider liegt es nicht daran da mein Shell Zugang exakt der selbe ist wie der MySQL Login.

Beides ist ,,root,, mit selben Passwort.
 

TeXpert

Guru
Du musst an sich nur sicherstellen, dass mysql auch auf TCP-Sockets lauscht, afair wird bei neueren Installationen darauf aus Sicherheitsgründen verzichtet -> my.ini entsprechend anpassen.
 
OP
K

Kazumi

Newbie
So huhu ihr lieben ^^

Also nach dem ich am sql rumgefummelt habe mit meinen 2 linken Händen *g* und dann garnix mehr ging *lach* hab ich den Server neu initalisiert sprich neu aufgesetzt über das Server Interface vom Server Hoster. Das problem mit SQL scheint nichtmehr zu bestehen dafür findet er jetzt das Java nichtmehr das ich ebenfalls neu installiert habe. JAVA_HOME und CLASSPATH sind gesetzt.
 
Status
Für weitere Antworten geschlossen.
Oben