Ich versuche, Hibiscus mit MySQL-Support zum Laufen zu bringen.
Ich habe immer folgenden Fehler bekommen:
Daraufhin habe ich aus /usr/share/java die mariadb-java-client.jar in das /hibiscus-server/lib Verzeichnis kopiert.
Nun bekomme ich folgende Fehlermeldung:
Ich habe nun zwei PHP-Dateien zum DB-Test erstellt.
<?php
$servername = "localhost";
$username = "hibiscus";
$password = "11fdg3f5"; // passe hier das Passwort an
$dbname = "hibiscus";
// Verbindung herstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Verbindung prüfen
if ($conn->connect_error) {
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
echo "Verbindung erfolgreich hergestellt!";
$conn->close();
?>
Mit beiden Varianten konnte ich mich ohne Probleme verbinden.
ein journalctl -u mariadb ergibt:
Was mich igrendwann stuzig machte, waren das to database '…'
nun habe ich mal testhalber die datenbank in der PHP abgeändert in xxxhibiscus und erneut versucht mich zu verbinden. In meinem journalctl erscheint nun:
Daraus schließe ich, dass die drei Punkte keine Maskierung sind, sondern Hibiscus wirklich versucht, sich zu einer Datenbank mit dem Namen '…' zu verbinden.
Bin hier erstmal mit meinem Latein am Ende.
Meine de.willuhn.jameica.hbci.rmi.HBCIDBService.properties:
Systeminfos:
Ich habe immer folgenden Fehler bekommen:
Zitat
[Sat Mar 15 22:36:34 CET 2025][INFO][main][de.willuhn.datasource.db.DBServiceImpl.start] starting db service
[Sat Mar 15 22:36:34 CET 2025][INFO][main][de.willuhn.jameica.hbci.server.DBSupportMySqlImpl.getJdbcDriver] using user-configured JDBC driver: org.mariadb.jdbc.Driver
[Sat Mar 15 22:36:34 CET 2025][ERROR][main][de.willuhn.jameica.hbci.HBCI.call] unable to init db service
java.rmi.RemoteException: unable to load jdbc driver; nested exception is:
java.lang.ClassNotFoundException: loader.jameica: class not found: org.mariadb.jdbc.Driver
[Sat Mar 15 22:36:34 CET 2025][INFO][main][de.willuhn.jameica.hbci.server.DBSupportMySqlImpl.getJdbcDriver] using user-configured JDBC driver: org.mariadb.jdbc.Driver
[Sat Mar 15 22:36:34 CET 2025][ERROR][main][de.willuhn.jameica.hbci.HBCI.call] unable to init db service
java.rmi.RemoteException: unable to load jdbc driver; nested exception is:
java.lang.ClassNotFoundException: loader.jameica: class not found: org.mariadb.jdbc.Driver
Daraufhin habe ich aus /usr/share/java die mariadb-java-client.jar in das /hibiscus-server/lib Verzeichnis kopiert.
Nun bekomme ich folgende Fehlermeldung:
Zitat
[Sat Mar 15 22:39:30 CET 2025][WARN][pool-1-thread-1][de.willuhn.jameica.services.BackupService$Consumer.handleMessage] detected error: java.rmi.RemoteException: connection to database.jdbc:mariadb://localhost:3306/... failed; nested exception is:
java.sql.SQLSyntaxErrorException: Could not connect to address=(host=localhost)(port=3306)(type=master) : (conn=539) Access denied for user 'hibiscus'@'localhost' to database '…'
java.sql.SQLSyntaxErrorException: Could not connect to address=(host=localhost)(port=3306)(type=master) : (conn=539) Access denied for user 'hibiscus'@'localhost' to database '…'
Ich habe nun zwei PHP-Dateien zum DB-Test erstellt.
Code
<?php
$servername = "localhost";
$username = "hibiscus";
$password = "11fdg3f5"; // passe hier das Passwort an
$dbname = "hibiscus";
// Verbindung herstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Verbindung prüfen
if ($conn->connect_error) {
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
echo "Verbindung erfolgreich hergestellt!";
$conn->close();
?>
Code
<?php
$dsn = 'mysql:host=localhost;dbname=hibiscus;charset=utf8';
$username = 'hibiscus';
$password = '11fdg3f5'; // passe hier das Passwort an
try {
$dbh = new PDO($dsn, $username, $password);
echo "Verbindung erfolgreich mit PDO hergestellt!";
} catch (PDOException $e) {
echo "Verbindung fehlgeschlagen: " . $e->getMessage();
}
?>
$dsn = 'mysql:host=localhost;dbname=hibiscus;charset=utf8';
$username = 'hibiscus';
$password = '11fdg3f5'; // passe hier das Passwort an
try {
$dbh = new PDO($dsn, $username, $password);
echo "Verbindung erfolgreich mit PDO hergestellt!";
} catch (PDOException $e) {
echo "Verbindung fehlgeschlagen: " . $e->getMessage();
}
?>
Mit beiden Varianten konnte ich mich ohne Probleme verbinden.
ein journalctl -u mariadb ergibt:
Zitat
Access denied for user 'hibiscus'@'localhost' to database '...'
Was mich igrendwann stuzig machte, waren das to database '…'
nun habe ich mal testhalber die datenbank in der PHP abgeändert in xxxhibiscus und erneut versucht mich zu verbinden. In meinem journalctl erscheint nun:
Zitat
Access denied for user 'hibiscus'@'localhost' to database 'xxxhibiscus'
Daraus schließe ich, dass die drei Punkte keine Maskierung sind, sondern Hibiscus wirklich versucht, sich zu einer Datenbank mit dem Namen '…' zu verbinden.
Bin hier erstmal mit meinem Latein am Ende.
Meine de.willuhn.jameica.hbci.rmi.HBCIDBService.properties:
Code
database.driver=de.willuhn.jameica.hbci.server.DBSupportMySqlImpl
database.driver.mysql.jdbcdriver=org.mariadb.jdbc.Driver
database.driver.mysql.jdbcurl=jdbc\:mariadb\://localhost\:3306/hibiscus?useUnicode\=Yes&characterEncoding\=ISO8859_1
database.driver.mysql.username=hibiscus
database.driver.mysql.password=11fdg3f5
database.driver.mysql.jdbcdriver=org.mariadb.jdbc.Driver
database.driver.mysql.jdbcurl=jdbc\:mariadb\://localhost\:3306/hibiscus?useUnicode\=Yes&characterEncoding\=ISO8859_1
database.driver.mysql.username=hibiscus
database.driver.mysql.password=11fdg3f5
Systeminfos:
Zitat
Ubuntu 22.04.5
java.version : 11.0.26
Jameica Version: 2.10.4
mysql Ver 15.1 Distrib 10.6.18-MariaDB
mariadb-java-client 2.7.4
java.version : 11.0.26
Jameica Version: 2.10.4
mysql Ver 15.1 Distrib 10.6.18-MariaDB
mariadb-java-client 2.7.4