Problem mit p4d: Läuft nicht auf PC mit Ubuntu

Es gibt 23 Antworten in diesem Thema, welches 5.141 mal aufgerufen wurde. Der letzte Beitrag () ist von Godot_x.

  • Hallo,


    ich hatte in der Vergangenheit bereits einen p4d auf einem alten Raspi installiert und erfolgriech getestet. Da ich meine Hardware jedoch umgestellt habe, nutze ich jetzt als Server einen PC mit Ubuntu 18.04. Leider bekomme ich die Installation nicht zum laufen.


    Ich habe mich größtenteils an diese Anleitung gehalten: https://github.com/horchi/linux-p4d

    Leider wird mir beim Status des p4d (service p4d status) immer folgende Fehlermeldung angezeigt:

    p4d.service - P4d Control Deamon

    Loaded: loaded (/etc/systemd/system/p4d.service; enabled; vendor preset: enabled)

    Active: active (running) since Mon 2022-07-04 00:13:21 CEST; 5min ago

    Process: 648 ExecStart=/usr/local/bin/p4d (code=exited, status=0/SUCCESS)

    Main PID: 878 (p4d)

    Tasks: 1 (limit: 4915)

    CGroup: /system.slice/p4d.service

    └─878 /usr/local/bin/p4d


    SQL-Error in 'connecting to database' - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (2002)

    p4d[878]: Fatal, lost connection to mysql server, aborting pending actions

    p4d[878]: Error, connecting to database at 'localhost' on port (3306) failed

    p4d[878]: Error: Initial database connect failed

    p4d[878]: SQL-Error in 'connecting to database' - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (2002)

    p4d[878]: Fatal, lost connection to mysql server, aborting pending actions

    p4d[878]: Error, connecting to database at 'localhost' on port (3306) failed

    p4d[878]: Could not access database 'localhost:3306'

    p4d[878]: Could not access database 'localhost:3306' (tried to open errors)

    p4d[878]: Retrying in 10 seconds



    Folgende Schritte hab ich zur Installation durchgeführt:

    apt -y update

    apt -y upgrade

    apt-get -y install build-essential pkg-config libssl-dev libjansson-dev

    apt-get -y install libcurl4-openssl-dev libmariadb-dev uuid-dev libcap-dev

    apt-get -y install libssl-dev libwebsockets-dev cmake mariadb-server

    apt-get -y install mosquitto mosquitto-clients


    cd /usr/src

    git clone https://github.com/warmcat/libwebsockets.git

    cd libwebsockets

    mkdir build

    cd build

    cmake ..

    make

    sudo make install

    ldconfig

    pkg-config --modversion libwebsockets


    systemctl status mysql

    mysql -u root -p

    grant all on *.* to root@localhost identified by 'password' with grant option;

    flush privileges;

    quit;

    mysql -u root -Dmysql -p

    CREATE DATABASE p4 charset utf8;

    CREATE USER 'p4'@'localhost' IDENTIFIED BY 'p4';

    GRANT ALL PRIVILEGES ON p4.* TO 'p4'@'localhost' IDENTIFIED BY 'p4';

    flush privileges;

    quit;


    systemctl start mosquitto

    systemctl enable mosquitto


    cd /usr/src/

    git clone https://github.com/horchi/linux-p4d/

    cd linux-p4d

    make clean all

    make install

    systemctl start p4d

    systemctl status p4d


    Hat jemand einen Tipp, was ich da machen kann?

  • Hallo Godot_x,


    Läuft die DB auf dem selben Host? Kannst du sie generell erreichen? Liefen die Kommandos zur DB oben ohne Fehler durch?


    Bitte beim Pasten von Code und Logs die passende Formatierung verwenden, macht es deutlich übersichtlicher.


    Grüße Jörg

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • Läuft die DB auf dem selben Host? Kannst du sie generell erreichen? Liefen die Kommandos zur DB oben ohne Fehler durch?

    Ja, läuft alles zusammen auf einem Server.


    Ich kann mysql nutzen um Tabellen zu erstellen. Oder ist hier was anderes gemeint?


    Ja, da gab es keine Fehler (die jetzt angezeigten Fehler kommen ja nur, da die Tabelle schon erstellt wurde).


  • soweit ich es sehe dreht es sich um diesen Fehler:

    Code
    p4d[878]: SQL-Error in 'connecting to database' - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (2002)

    also der p4d kann den Datenbank Server (die MySQL Instanz) nicht erreichen.

    Die Konfiguration in/etc/p4d/daemon.conf passt bei dir zu deiner Installation?

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • soweit ich es sehe dreht es sich um diesen Fehler:

    Code
    p4d[878]: SQL-Error in 'connecting to database' - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (2002)

    also der p4d kann den Datenbank Server (die MySQL Instanz) nicht erreichen.

    Die Konfiguration in/etc/p4d/daemon.conf passt bei dir zu deiner Installation?

    Folgender Inhalt (hab an der Dtei keine Änderungen vorgenommen:

    Code
    # ----------------------------------------
    # parameters to connect the MySQL database
    
    DbHost = localhost
    DbPort = 3306
    DbName = p4
    DbUser = p4
    DbPass = p4
  • sieht für mich alles gut aus, kann mir gerade auch nicht erklären warum sich der p4d nicht zur DB verbinden kann.


    Denn du den p4d mal stoppst, und auf der Kommandozeile mit p4d -t -n startest, was gibt er dann dann dort aus. Du kannst es nach der Fehlermeldung wieder mit ctrl-c abbrechen.

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • Ich habe von dieser (https://stackoverflow.com/ques…ugh-socket-tmp-mysql-sock) Seite ein paar Befehle getestet mit angehängtem Ergebnis:

    stat /tmp/mysql.sock

    Code
    stat: Aufruf von stat für '/tmp/mysql.sock' nicht möglich: Datei oder Verzeichnis nicht gefunden


    mysql -h 127.0.0.1

    Code
    ERROR 1698 (28000): Access denied for user 'root'@'localhost'


    mysql -h 127.0.0.1 -p

    Code
    Enter password:
    ERROR 1698 (28000): Access denied for user 'root'@'localhost'


    mysql -h localhost -u root -p



    Vielelicht hilft das noch, das Problem einzugrenzen?

  • sieht für mich alles gut aus, kann mir gerade auch nicht erklären warum sich der p4d nicht zur DB verbinden kann.


    Denn du den p4d mal stoppst, und auf der Kommandozeile mit p4d -t -n startest, was gibt er dann dann dort aus. Du kannst es nach der Fehlermeldung wieder mit ctrl-c abbrechen.

  • Hallo @Godot,


    probiere mal statt DBhost=localhost DBhost=127.0.0.1



    Viele Grüße von Karlheinz

    Seit Juni 2011:

    ETA Twin: SH30/P25 "noTouch" (Füllraum 150 Liter)

    Hopf Pelletaustragung: 6x UniWok-Saugsonden (Lager für 6 to)

    Paradigma Pufferspeicher: 2x Aqua Expresso (1090 + 958 Liter; seriell verbunden)

    Paradigma FrischWasserStation

    Paradigma VR-Solarpanel: 2x CPC21 Star Azzurro (10m²; Aqua-System ohne Glykol)

  • probiere mal statt DBhost=localhost DBhost=127.0.0.1

    ... oder wo soll ich das eingeben?

  • Daemon.conf

    Seit Juni 2011:

    ETA Twin: SH30/P25 "noTouch" (Füllraum 150 Liter)

    Hopf Pelletaustragung: 6x UniWok-Saugsonden (Lager für 6 to)

    Paradigma Pufferspeicher: 2x Aqua Expresso (1090 + 958 Liter; seriell verbunden)

    Paradigma FrischWasserStation

    Paradigma VR-Solarpanel: 2x CPC21 Star Azzurro (10m²; Aqua-System ohne Glykol)

  • Daemon.conf

    kann ich die ganzen Meldungen komplett in einer Liste ansehen? ich bekomm ja immer nur die letzten paar zu sehen...

  • alles findest du in /var/log/p4d.log

    das ist der teil, der sich geändert hat (wohl nach dem ändern der Daemon.conf. Davor und danach anscheinend nur wiederholungen.

  • Jetzt noch den USB/Serial-Stick rein und den Ofen anschließen.

    Hab jetzt den Server gewechselt (das vorher war ein Test-System..., der jetzige ist mit der Fröling verbunden), daher eine andere IP (nicht wundern).

    komplette Neuinstallation mit diesen Änderungen durchgeführt:


    nano /etc/p4d/daemon.conf

    -> DbHost =localhost ändern in DbHost = 127.0.0.1


    systemctl restart p4d

    Jetzt schaut es wie folgt aus:


    komischerweise finde ich keine logdatei vom p4d (/var/log/p4d existiert nicht)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!