ubuntuusers.de

Keine Verbindung zum MySQL-Server mit Qt-Programm

Status: Gelöst | Ubuntu-Version: Ubuntu 8.10 (Intrepid Ibex)
Antworten |

curryhuhn

Anmeldungsdatum:
13. Oktober 2005

Beiträge: Zähle...

Wohnort: Fast ein Däne

Hallo zusammen!

Ich möchte ein C++/Qt-Programm erstellen, dass eine MySQL-Datenbank verwendet. Als IDE verwende ich QDevelop und die MySQL-Datenbank habe ich mit XAMPP installiert.

Mein kleines Testprogramm (siehe unten) wird ohne Fehler compiliert. Allerdings kommt es bei der Ausführung zu einem Fehler: "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) QMYSQL: Unable to connect"

Ich meine auch zu wissen, wo das Problem liegt, denn die Datei "mysqld.sock" liegt bei mir hier: /opt/lampp/var/mysql/mysqld.sock

Nur weiß ich jetzt nicht, wie ich das Problem beheben kann. Ich muss wohl irgendwie dem Compiler den anderen Ort mitteilen. Aber wie geht das?

Würde mich über eure Hilfe riesig freuen! ☺

Beste Grüße, das Curryhuhn

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

So ohne weiteres geht das gar nicht. Die Systeminstallation von Qt4 ist nicht gegen die MySQL-Version der XAMPP-Installation kompiliert, sondern gegen diejenige aus den Paketquellen. Du solltest XAMPP deinstallieren und die MySQL-Version aus den Paketquellen nutzen, das wäre der einfachste Weg.

Sid_Burn

Anmeldungsdatum:
23. Oktober 2004

Beiträge: 2159

Wahrscheinlich würde es auch einfach gehen wenn du einen Symbolischen Link erstellst der von "/var/run/mysqld/mysqld.sock" auf "/opt/lampp/var/mysql/mysqld.sock" zeigt. Sofern MySQL symbolischen Links folgt.

Aber ich würde auch eher MySQL aus den Paketquellen installieren anstatt XAMP zu nutzen.

Linuxbroetchen

Avatar von Linuxbroetchen

Anmeldungsdatum:
4. Mai 2009

Beiträge: 133

Wohnort: Münster (Westf)

Hi, ich kling mich mal dazwischen, denn ich habe ein ähnliches Problem wie curryhuhn.

Ich habe unter Ubuntu 8.10 den MySQL-Client installiert. Vor ein paar Monaten (vor dem Release von Jaunty) habe ich ihn erneut installiert,
da ich irgendein Problem hatte. Seit dieser Reinstallation bekomme ich, wenn ich "mysql" ins Terminal eingebe, die folgende Fehlermeldung:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

Ich hatte gehofft, dass das Upgrade auf Jaunty das Problem automatisch beheben würde, dem ist aber leider nicht so!

Die Datei mysqld.sock existiert allerdings nicht in diesem Verzeichnis. Ich habe schon etwas gegoogelt und herausgefunden,
dass die Datei scheinbar nur existiert, wenn der MySQL-Server (im Hintergrund) läuft.
Der Befehl

1
sudo /etc/init.d/mysql start

bleibt jedoch ohne Wirkung!

Ich würde mich freuen, wenn mir jemand weiterhelfen könnte ☺

MfG

curryhuhn

(Themenstarter)

Anmeldungsdatum:
13. Oktober 2005

Beiträge: 144

Wohnort: Fast ein Däne

Vielen Dank für eure Antworten!

Ich habe MySQL aus den Paketquellen installiert und jetzt funktioniert es wunderbar.

p.s.: ich setze diesen Beitrag noch nicht auf "gelöst", damit Linuxbroetchen noch Chance auf Hilfe hat.

Linuxbroetchen

Avatar von Linuxbroetchen

Anmeldungsdatum:
4. Mai 2009

Beiträge: 133

Wohnort: Münster (Westf)

so, ich habe das Problem gelöst! 💡

Das Problem war, das die Pakete des MySQL-Servers gefehlt haben. Dies habe ich durch die Installation des Metapackets mysql-server behoben.
Seit dem funktioniert es wieder wunderbar!

MfG ☺

Antworten |