FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: budy am 07 Dezember 2022, 11:45:31

Titel: configdb und MariaDB 10.3.x unter Debian Buster
Beitrag von: budy am 07 Dezember 2022, 11:45:31
Moin,

ich hatte am Wochenende mal versucht meine alte Debian Stretch, auf der mein FHEM läuft, auf Buster zu aktualisieren. Leider funktionierte anschließend der Login zu meiner MariaDB nicht mehr, weil sich offenbar etwas an der API der MySQL Perl Lib geändert hat. Hat da jemand einen Tipp? Kann ich ggf. die MariaDB 10.1 unter Stretch irgendwie pinnen, dass sie nicht aktualisiert wird? Oder gibt es ggf. eine andere Lösung?

Gruß,
budy
Titel: Antw:configdb und MariaDB 10.3.x unter Debian Buster
Beitrag von: CoolTux am 07 Dezember 2022, 12:47:11
Magst Du uns bitte einmal die Fehlermeldung geben?
Titel: Antw:configdb und MariaDB 10.3.x unter Debian Buster
Beitrag von: budy am 08 Dezember 2022, 10:47:22
Kann ich grad nicht, weil ich das natürlich zurück gebaut habe, aber ich werde das mal auf einem Klon meiner VM nochmal nachstellen. Melde mich später nochmal dazu, wenn ich das gemacht habe...
Titel: Antw:configdb und MariaDB 10.3.x unter Debian Buster
Beitrag von: budy am 09 Dezember 2022, 14:30:50
Puhh... ich konnte das auf dem Klon meiner VM nicht nochmal nachvollziehen. Ich werde das heute Abend nochmal auf meiner eigentlichen VM machen.
Titel: Antw:configdb und MariaDB 10.3.x unter Debian Buster
Beitrag von: budy am 09 Dezember 2022, 18:44:44
Ahh... jetzt kann ich das auf beiden VMs reproduzieren. Wenn ich nach dem fälligen apt dist-upgrade versuche FHEM zu starten, dann bekomme ich folgende Meldung:

root@fhem:/home/fhem/fhem# /usr/bin/perl /home/fhem/fhem/fhem.pl configDB
2022.12.09 18:39:33 1: PERL WARNING: DBD::mysql::st execute failed: Unknown MySQL error at configDB.pm line 365.
DBD::mysql::st execute failed: Unknown MySQL error at configDB.pm line 365.
2022.12.09 18:39:33 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle database=configDB;host=10.10.0.244;port=3306 at configDB.pm line 365.


Der Code aus dem Modul versucht dort aus der DB zu lesen:

# read attributes
sub cfgDB_AttrRead {
        my ($readSpec) = @_;
        my ($row, $sql, @line, @rets);
        my $fhem_dbh = _cfgDB_Connect;
        my $uuid = $fhem_dbh->selectrow_array('SELECT versionuuid FROM fhemversions WHERE version = 0');
        $sql = "SELECT * FROM fhemconfig WHERE COMMAND = 'attr' AND DEVICE = '$readSpec' AND VERSIONUUID = '$uuid'";
        $sql = "SELECT * FROM fhemconfig WHERE COMMAND = 'attr' AND (DEVICE = 'global' OR DEVICE = 'configdb') and VERSIONUUID = '$uuid'"
                                        if($readSpec eq 'global');
        my $sth = $fhem_dbh->prepare( $sql );
        $sth->execute();
        while (@line = $sth->fetchrow_array()) {
                if($line[1] eq 'configdb') {
           $configDB{attr}{$line[2]} = $line[3];
                } else {
                        push @rets, "attr $line[1] $line[2] $line[3]";
                }
        }
        $fhem_dbh->disconnect();
        return @rets;
}


Nach dem Update auf Buster, vor dem apt dist-upgrade funktioniert das noch...
Titel: [gelöst]: Antw:configdb und MariaDB 10.3.x unter Debian Buster
Beitrag von: budy am 10 Dezember 2022, 14:43:42
Oh Mann... nach einem weiteren reboot, läuft das dann - keinen Plan, wieso ich das nicht gemerkt habe. Problem ist jedenfalls gelöst und es gibt keine Schwierigkeiten mit configDB und Maria 10.3.