Hallo,
wir nutzen Fakturama2 auf einem gehosteten Server zusammen mit einer MariaDB Datenbank. Zusätzlich läuft auf dem Server die Terminalserverlösung X2Go und wir greifen mit X2Go-Clients für Linux und Windows auf den Server zu.
Seit der Installation kann ich, der ich die Installation vorgenommen habe problemlos mit Fakturama2 arbeiten. Meine beiden Mitinhaber erhalten aber die oben genannte Fehlermeldung. Der Hinweis aus dem Thread https://www.fakturama.info/community/hilfe-bei-installation-und-bedienung/fakturama-2-keine-verbindung-mit-datenbank-moeglich-ist-die-datenbank-von-einem-anderen-prozess-geoeffnet/#post-20939 hat bei uns leider keine Abhilfe gebracht, da es keine Lock-Einträge in der Tabelle gibt.
Kann es sein, dass Fakturama2 nicht terminalserverfähig ist? Alle Sessions kommen ja mit der gleichen Adresse daher.
Hier noch unser Setup:
Server-OS: Version 22.04.4 LTS (Jammy Jellyfish) 64-bit mit Mate Desktop
Datenbankserver: MariaDB 11.1.4
Terminalserver:
x2goserver: 4.1.0.6
x2goserver-common: 4.1.0.6
x2goserver-extensions: 4.1.0.6
x2goserver-fmbindings: 4.1.0.6
x2goserver-printing: 4.1.0.6
x2goserver-x2goagent: 3.5.99.26
x2goserver-x2gokdrive: 4.1.0.6
x2goserver-xsession: 4.1.0.6
Terminalserver-Clients: aktuelle X2Go Clients für Linux und Windows
Beste Grüße
Ulrich
Moin, der Terminalserver sollte kein Problem sein. Wir hatten aber in der Vergangenheit immer mal wieder Probleme mit solchen Remote-Konstruktionen. Das von Dir beschrieben Setting sollte aber funktionieren. Generell kann man nicht gleichzeitig auf derselben Instanz von Fakturama arbeiten, weil das Programm dafür nicht konzipiert wurde. Funktioniert es denn, wenn die anderen Mitarbeiter allein das Programm starten?
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hallo Ralf,
es funktioniert leider auch nicht, wenn kein anderer Benutzer angemeldet ist. Da wir eine MariaDB als Backend nutzen, sollte die Multiuser-Fähigkeit eigentlich kein Problem darstellen. Auf dem Terminalserver sind die Sessions ja komplett getrennt und jede Session hat ihre eigene Verbindung zum DB-Server und dort gibt es keine Beschränkung, dass derselbe User nicht mehrfach eingeloggt sein darf.
Da ich den MariaDB Server sehr gut kenne und Kunden dazu berate können wir uns das gerne mal gemeinsam anschauen.
Beste Grüße
Ulrich
Hallo Ulrich, ich habe hier momentan keine richtige Idee, in welche Richtung man suchen soll. Gehen die beiden anderen User vom selben Rechner auf den Terminalserver? Hängt das evtl. mit irgendwelchen Schreibrechten zusammen?
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
Hi,
bitte prüfe mal auf dem MariaDB Server per SQL-Konsole folgendes:
Wenn diese Fehlermeldung wieder kommt, führe bitte in einer Session den Folgenden SQL-Befehl aus:
SHOW PROCESSLIST;
Dieser zeigt die offenen Verbindungen an. mich würde interessieren, wie viele es sind und von wievielen Rechnern/Clients diese kommen.
ich vermute, das die Maximale Anzahl gleichzeitiger Verbindungen überschritten wurde, wir also hier nacharbeiten müssen, um diese Verbindungen zu begrenzen.
Grüße aus der Entwicklung 😀
@boarschti Also ich bin direkt auf den DB-Server gegangen und sehe dort nur meinen admin user. Wenn ich mich von meinem Linux-User aus anmelde dann sehe ich die DB-Admin Session und eine Session mit dem fakturama Database User. Im syslog sehe ein "Access denied for user 'fakturama_dbo'@'localhost'" für den anderen User. Ich habe daraufhin nochmals die View user in der Datenbank mysql geprüft und auch die Schreibung mit der Ausgabe des Logs verglichen.
Ich vermute jetzt, dass beim einrichten des Clients für die anderen Benutzer sich ein Tippfehler im DB-Passwort eingeschlichen hat. Das müsste ja irgendwo hinterlegt sein. Kann man das nachträglich ändern oder die Einrichtung der Verbindungsparameter für die anderen Benutzer wiederholen, ohne die Anwendung neu installieren zu müssen?
LG Ulrich
Hey
prüfe doch einfach mal, mit welchem User sich die anderen einloggen. sollte es zb fakturama_dbo sein, so sollte dir das helfen:
https://www.atlassian.com/data/admin/how-to-grant-all-privileges-on-a-database-in-mysql
kurz: GRANT ALL PRIVILEGES ON database_name.* TO 'fakturama_dbo'@'localhost';
Ersetze den database_name durch z.B. fakturama.* (wenn die DB fakturama heißt) und localhost durch die ip oder einen Adressbereich (192.168.%)
alternativ kann man auch fakturama_dbo@% schreiben, dann wird er aus jedem IP-Bereich zugelassen. Natürlich kann man mit entsprechenden Abfragen auch heraus bekommen, was aktuell für Rechte gewährt werden. Näheres dazu verrät das Internet gern 😀
Die Anleitung ist für MySQL und MariaDB gleichermaßen gültig.
Hallo @boarschti,
da ich seit vielen Jahren als freier Consultant für MariaDB aktive bin, habe ich schon alle möglichen Gründe für den Access Denied Fehler eruiert einschliesslich der gesetzten Grants. Was mir aber aufgefallen ist, wenn ich Fakturama2 starte, ist, dass dann der User fakturama_dbo mit folgendem Eintrag in der Prozessliste erscheint:
| 1859 | fakturama_dbo | localhost:44552 | fakturama | Sleep | 415 | | NULL | 0.000 |
Der MariaDB-Server läuft mit der Standarrd-Port-Einstellung 3306 aber der User wird mit Portnummer 44552 angezeigt. Das verwundert mich.
Gruss
Ulrich