Nach Neuinstallation aufgrund Upgrade Linux auf Bullseye light mysql Fehler

Begonnen von UweUwe, 18 November 2022, 22:43:13

Vorheriges Thema - Nächstes Thema

UweUwe

Hallo,
ich ziehe gerade eines meiner FHEM-Systeme auf Bullseye um.
FHEM, ALEXA und die einzelnen Module laufen schon.
Die Datenbank scheint noch eine grosses Problem zu haben und schreibt kontinuierlich und häufig folgende Fehlermeldung in das Logfile:

Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:

    #1) Respektieren Sie die Privatsphäre anderer.
    #2) Denken Sie nach, bevor Sie tippen.
    #3) Mit großer Macht kommt große Verantwortung.

sudo: Zum Lesen des Passworts ist ein Terminal erforderlich; verwenden Sie entweder die Option -S, um aus der Standardeingabe zu lesen oder richten Sie das Askpass-Hilfsprogramm ein
sudo: Ein Passwort ist notwendig
2022.11.18 22:25:35 2: PRESENCE (BluetoothAnwesend) - error while processing check: unexpected function output (expected 0 or 1):
2022.11.18 22:25:39 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2022.11.18 22:25:39 2: DbLog DBLogging - Error: install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl ./FHEM/lib) at (eval 1231) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Mem, Pg, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 3287.

2022.11.18 22:25:45 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2022.11.18 22:25:45 2: DbLog DBLogging - Error: install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl ./FHEM/lib) at (eval 1232) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Mem, Pg, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 3287.

2022.11.18 22:25:50 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2022.11.18 22:25:50 2: DbLog DBLogging - Error: install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl ./FHEM/lib) at (eval 1233) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Mem, Pg, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 3287.

2022.11.18 22:25:55 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2022.11.18 22:25:55 2: DbLog DBLogging - Error: install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl ./FHEM/lib) at (eval 1234) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Mem, Pg, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 3287.

2022.11.18 22:26:00 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2022.11.18 22:26:00 2: DbLog DBLogging - Error: install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl ./FHEM/lib) at (eval 1235) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Mem, Pg, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 3287.

2022.11.18 22:26:05 3: DbLog DBLogging - Creating Push-Handle to database mysql:database=fhem;host=localhost;port=3306 with user fhemuser
2022.11.18 22:26:05 2: DbLog DBLogging - Error: install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl ./FHEM/lib) at (eval 1236) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Mem, Pg, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 3287.


Kann mir bitte jemand weiterhelfen, wie ich hier wieder mysql zum Laufen bekomme.
Danke

MadMax-FHEM

Schon mal gesucht?
Klingt ähnlich: https://forum.fhem.de/index.php/topic,126376.msg1209901.html#msg1209901

Wobei da ja mehr ist:

du oder ein Modul nutzt sudo und fhem darf das nicht ohne Passwort...

und irgendwas mit BT-Presence scheint auch nicht zu passen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo,
hab versucht die Mariadb Datenbank auf Linux Ebene zu starten und bin gescheitert.
Vorher hab ich die MariaDB nochmals installiert, ohne Probleme.

Hier die Fehlermeldung bei Start der mariasb:

pi@Vagabundi02:~ $ systemctl start mariadb
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Legitimierung ist zum Starten von »mariadb.service« notwendig.
Authenticating as: ,,, (pi)
Password:
==== AUTHENTICATION COMPLETE ===
Failed to start mariadb.service: Unit mariadb.service is masked.


Ich verstehe es doch richtig.

mariadb fragt nach Passwort::: das gebe ich ein und wird akzeptiert.
Dann start mariadb: mariadb.dervice wäre masked, was immer das heisst.

bei der Eingabe von sudo systemctl start mariadb bekomme ich

pi@Vagabundi02:~ $ sudo systemctl start mariadb
Failed to start mariadb.service: Unit mariadb.service is masked.




UweUwe

Hallo, noch ein Hinweis:

innerhalb FHEM/dblogging bekomme ich folgende Fehlermeldung

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.32.1 /usr/local/share/perl/5.32.1 /usr/lib/arm-linux-gnueabihf/perl5/5.32 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl-base /usr/lib/arm-linux-gnueabihf/perl/5.32 /usr/share/perl/5.32 /usr/local/lib/site_perl ./FHEM/lib) at (eval 393) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: DBM, ExampleP, File, Gofer, Mem, Pg, Proxy, SQLite, Sponge.
at ./FHEM/93_DbLog.pm line 3287.

MadMax-FHEM

Hast du dir den Link mal durchgelesen?!

Dort steht doch zu Beginn die Lösung: installieren von Paketen...

Dann kopiere ich dir das halt hier noch mal:
apt-get install libdbd-mysql libdbd-mysql-perl

Die Fehlermeldung dort klingt zumindest wie deine...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Google sagt dir was? ;)

masked heißt so viel wie deaktiviert...

Such doch mal nach z.B.: unit service masked

Nutzt du mariadb oder mysql?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wernieman

und ein systemctrl start <Service> funktioniert natürlich nur als root, oder mit sudo ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

UweUwe

Hab die gesamte Installation nochmals durchgeführt. Auch die Ergänzung

apt-get install libdbd-mysql libdbd-mysql-perl

auch das device DBLogging hab ich in FHEM gelöscht und nochmals installiert mit :

define DBLogging DbLog /opt/fhem/db.conf .*:.*

Das DBLogging device sieht dann so aus:

Internals:
   CFGFN     
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION /opt/fhem/db.conf
   DEF        /opt/fhem/db.conf .*:.*
   FUUID      637a963f-f33f-813e-db94-68a232fb0ff55c65
   FVERSION   93_DbLog.pm:v4.13.2-s26672/2022-11-07
   MODE       synchronous
   MODEL      MYSQL
   NAME       DBLogging
   NR         2976
   NTFY_ORDER 50-DBLogging
   PID        2539
   REGEXP     .*:.*
   STATE      DBI connect('database=fhem;host=db;port=3306','fhemuser',...) failed: Unknown MySQL server host 'db' (-5) at ./FHEM/93_DbLog.pm line 3287.

   TYPE       DbLog
   UTF8       0
   dbconn     mysql:database=fhem;host=db;port=3306
   dbuser     fhemuser
   eventCount 3
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   DBI connect('database=fhem;host=db;port=3306','fhemuser',...) failed: Unknown MySQL server host 'db' (-5) at ./FHEM/93_DbLog.pm line 3287.

     PACKAGE    main
     READINGCOL 64
     TC         current
     TH         history
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
     VERSION    4.13.2
   READINGS:
     2022-11-20 22:03:59   CacheOverflowLastNum 0
     2022-11-20 22:03:59   CacheOverflowLastState normal
     2022-11-20 22:24:35   state           DBI connect('database=fhem;host=db;port=3306','fhemuser',...) failed: Unknown MySQL server host 'db' (-5) at ./FHEM/93_DbLog.pm line 3287.

Attributes:
   DbLogExclude .*

MadMax-FHEM

Warum hast du das db-Device gelöscht?

Hast du auch die DB-Daten, also Server, User, Login/PW usw. wieder beim neuen Device eingerichtet?

Das hier klingt nach "Verbindungseinstellungen falsch":
Zitat
DBI connect('database=fhem;host=db;port=3306','fhemuser',...) failed: Unknown MySQL server host 'db'

Heißt dein Datenbank Server "db"?
Und wenn ja: ist er vom "fhem-Rechner" aus erreichbar? Also was kommt bei "ping db" auf dem "fhem-Rechner" auf der Console?
Heißt dein Datenbank-User "fhemuser"?
Passt der Port?

Kann es sein, dass du aus "Hektik" usw. einfach irgendwelche Aktionen unternimmst...
...statt sinnvoll vorzugehen und auch mal Infos/Links usw. zu beachten, lesen, bewerten und umsetzen (falls sinnvoll erscheint).

EDIT: ich selbst nutze aber kein dblog. Evtl. wäre es (wie eigentlich immer) sinnvoll das im passenden Unterforum zu posten/verschieben?
Zitat von: help dblog
Module: 93_DbLog.pm Maintainer: DS_Starter Forum: Automatisierung

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)


MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

UweUwe

Hallo Joachim,
ja und dann?


Mein RPI3 habe ich 2019 installiert und ich bin bin der Funktionalität, Performance etc. zufrieden. Mehr brauche ich eigentlich nicht.
Probleme mit Alexa haben dazu geführt, dass ich einen Upgrade des Betriebssystem startete (Das Problem Alexa war letztendlich ein Thema von Amazon und nicht beeinflussbar).
Ein Upgrade war aber weiterhin aus meiner Sicht sinnvoll ==> Bullseye war der Name, der mir zugetragen wurde.

Ich sah 3 Säulen, die mir die Installation ermöglichen:

Otto und Joachim aus dem Forum,
meine Notizen aus 2019 bezüglich der meiner individuellen Installation.

Bullseye und FHEM bekam ich mit Hilfe von Ottos Anweisungen hin. Technik-Blog
Alexa klappte nach starker Unterstützung von Joachim auch.

==> aktuell fahre ich jetzt das Bullseye System schon als Produktionsystem mit einigen Einschränken.
Diese Einschränkungen möchte ich lösen, Zuerst das Datenbankproblem!

Hier mein Vorgehen aus 2019 zur installation von mariaDB, das ich eigentlich wiederholen wollte:

(1) sudo apt-get install mysql-server mysql-client
(2) sudo apt-get install libdbi-perl libclass-dbi-mysql-perl
(3) sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
(4) sudo mysql -u root -p



schon beim ersten Befehl (1)  fällt man auf die Nase:

sudo apt-get install mysql-server mysql-client
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
Statusinformationen werden eingelesen... Fertig
Paket mysql-client ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.
Doch die folgenden Pakete ersetzen es:
  mariadb-client-10.0

Paket mysql-server ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.
Doch die folgenden Pakete ersetzen es:
  mariadb-server-10.0

E: Für Paket »mysql-server« existiert kein Installationskandidat.
E: Für Paket »mysql-client« existiert kein Installationskandidat.


Ob ich jetzt weitermachen kann oder nicht, das ist mir unklar. Ich mache weiter:

Die nächste Installation verläuft problemlos (2)

Mit dem nächsten Befehl (3) kommentiere ich aus der Datei 50-server.cnf die Anweisung #bind-address = 127.0.0.1 raus

Mit (4) wird die Datenbank erstmals geöffnet. Ein Passwort wird abgefragt, das ich nicht kenne. In 2019 habe ich mir notiert, dass ich kein Passwort eingeben muss ("return").

Spätestens hier ist für mich Schluss mit der Installation. Es folgt ja jetzt die Definition der Datenbank (z.B. Passwort) und die Vergabe von Rechten.

Könnt ihr mir bitte helfen , wo ich hier falsch laufe?

Merci




Meine Datenbank streubt sich erheblich und da weiss ich keinen Weg mehr weiter.




Wernieman

Die Packet-Namen haben sich geädert und im Thread steht sogar schon, welche es jetzt sind.

Sorry aber Dir wurden einige Lösungen präsentiert, welche Du nicht gelesen/reagiert hast.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

UweUwe

Hallo Werniemann,

Sorry aber Dir wurden einige Lösungen präsentiert, welche Du nicht gelesen/reagiert hast.

Das ist inkorrekt und ich verstehe nicht, wie du darauf kommst.  Wie soll ich erkennen, dass sich der Paketname geändert hat?
Ich weiss, dass dies ein Linux Thema ist und kein FHEM spezifisches Thema.


Kannst du mir bitte die entsprechende Anweisung für die Installation des neuen Pakets nennen:

Muss ich
sudo apt-get install mysql-server mysql-client
ersetzen durch

sudo apt-get install  mariadb-server-10.0 mysql-client

Und den Rest nochmals in identischer Weise weiterfahren?

also:

 (2) sudo apt-get install libdbi-perl libclass-dbi-mysql-perl
(3) sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
(4) sudo mysql -u root -p







bartman121

Ich hab das jetzt nur überflogen.....

Du nutzt evtl. Auch config-db mit einem Backup der cobfigdb vom alten system?

Wenn ja, dann ist die db.conf vom alten system in der Datenbank drin, egal was du physisch ins File schreibst, er nimmt die Werte aus der Datenbank (also die alten)


Um die Werte aus der db.conf einzulesen musst du folgendes in der fhem-kommandozeile eingeben:
configdb fileimport ./db.conf

Gilt aber halt nur für config-db.