Problème suite redémarrage : SQLSTATE[HY000] [2002] Connection refused

Bonjour, ceci est un appel à l’aide !

Mon jeedom est installé sur un docker avec l’image jeedom:4.4-boockworm, selon le tuto de @Didier3L sur un Docker en MacVLAN, le tout sur mon NAS Synology DS218+ (sur DSM7.2).

Je devais appliquer un patch de sécurité sur le NAS donc évidemment ça fait redémarrer tous le NAS et tous les dockers, dont le Jeedom.
Au redémarrage, je ne parviens pas à me connecter à Jeedom, je n’optient que ce message SQLSTATE[HY000] [2002] Connection refused
image

J’arrive toujours à accéder en SSH au docker mais je ne sais pas trop quoi en faire :sweat_smile:
J’ai quand même tenté :

root@jeedom:/var/www/html# service mysql restart
mysql: unrecognized service
root@jeedom:/var/www/html# service mariadb restart
Stopping MariaDB database server: mariadbd.
Starting MariaDB database server: mariadbd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . failed!

Comme si MariaDB ne voulait pas redémarrer.
L’appli Container Manager du NAS me donne accès aux évènement du docker Jeedom :

date	stream	content
2024/11/17 15:18:44	stdout	Add trap docker_stop
2024/11/17 15:18:44	stdout	.
2024/11/17 15:18:43	stdout	Starting Apache httpd web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.0.242. Set the 'ServerName' directive globally to suppress this message
2024/11/17 15:18:43	stdout	Start apache2
2024/11/17 15:18:39	stdout	All init complete
2024/11/17 15:18:39	stdout	\033[1;31mCannot start mariadb - Cancelling\033[0;39m
2024/11/17 15:18:39	stdout	Starting MariaDB database server: mariadbd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e[31mfailed!e[0m
2024/11/17 15:18:08	stdout	Stopping MariaDB database server: mariadbd.
2024/11/17 15:18:08	stdout	mysql: unrecognized service
2024/11/17 15:18:08	stdout	rm: cannot remove '/var/lib/mysql/ib_logfile*': No such file or directory
2024/11/17 15:18:08	stdout	\033[1;31mCannot start mariadb - Cancelling\033[0;39m
2024/11/17 15:18:08	stdout	Starting MariaDB database server: mariadbd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e[31mfailed!e[0m
2024/11/17 15:17:37	stdout	Stopping MariaDB database server: mariadbd.
2024/11/17 15:17:37	stdout	mysql: unrecognized service
2024/11/17 15:17:37	stdout	Starting mariadb
2024/11/17 15:17:37	stdout	Starting deferred execution scheduler: atd.
2024/11/17 15:17:37	stdout	Stopping deferred execution scheduler: atd.
2024/11/17 15:17:37	stdout	Start atd
2024/11/17 15:17:37	stdout	Use generate password : bO83jV0UhT2NMGM
2024/11/17 15:17:37	stdout	Jeedom is already install
2024/11/17 15:17:37	stdout	Start init

Je précise que c’est la première fois que je redémarre mon Jeedom depuis mon passage il y a 2 mois sur DSM7.2 + 4.4-Bookworm.

Evidemment, impossible de vous donner une page de santé puisque je n’y ai pas accès.
Des backup j’en ai si besoin, idéalement j’aimerais comprendre avant de chercher les commandes pour restaurer une sauvegarde.

Merci de votre aide !

Salut, tu as regarder si
tu avais assez d’espace sur ton disque sur ton docker ? (ssh: df -h )
tu peux donner le résultat de « service mysql status »
a tu changer des fichier de config en dehors du dossier plugins de jeedom ?

Bonjour et merci bcp de ton aide.
Je ne pense jamais avoir changé des configs ailleurs que dans plugin non.
Ci-dessous les commandes :

root@jeedom:/var/www/html# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/md2        8.8T  7.2T  1.6T  83% /
tmpfs            64M     0   64M   0% /dev
tmpfs           4.8G     0  4.8G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/md2        8.8T  7.2T  1.6T  83% /etc/hosts
/dev/md2        8.8T  7.2T  1.6T  83% /var/lib/mysql
tmpfs           4.8G     0  4.8G   0% /proc/acpi
tmpfs           4.8G     0  4.8G   0% /proc/scsi
tmpfs           4.8G     0  4.8G   0% /sys/firmware
root@jeedom:/var/www/html# service mysql status
mysql: unrecognized service
root@jeedom:/var/www/html# service mariadb status
MariaDB is stopped..
root@jeedom:/var/www/html#

Tant pis si je comprends pas, sauriez-vous m’indiquer des commandes en SSH pour tenter une restauration de backup ?
Peut-être que l’arrêt violent du docker ça a bousiller la base de donnée. Je n’avais pas arrêté proprement Jeedom avant de rebooter le NAS…

Merci de votre aide !

Pour info j’ai tenté sudo php /var/www/html/install/restore.php en ssh :

root@jeedom:/var/www/html# sudo php /var/www/html/install/restore.php
[START RESTORE]
PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [2002] Connection refused in /var/www/html/core/class/DB.class.php:48
Stack trace:
#0 /var/www/html/core/class/DB.class.php(48): PDO->__construct()
#1 /var/www/html/core/class/DB.class.php(59): DB::initConnection()
#2 /var/www/html/core/class/DB.class.php(91): DB::getConnection()
#3 /var/www/html/core/class/config.class.php(133): DB::Prepare()
#4 /var/www/html/core/class/config.class.php(69): config::remove()
#5 /var/www/html/core/class/jeedom.class.php(993): config::save()
#6 /var/www/html/install/restore.php(248): jeedom::start()
#7 {main}
  thrown in /var/www/html/core/class/DB.class.php on line 48
Error during restore : SQLSTATE[HY000] [2002] Connection refusedDetails : Array
(
    [0] => Array
        (
            [file] => /var/www/html/core/class/DB.class.php
            [line] => 48
            [function] => __construct
            [class] => PDO
            [type] => ->
        )

    [1] => Array
        (
            [file] => /var/www/html/core/class/DB.class.php
            [line] => 59
            [function] => initConnection
            [class] => DB
            [type] => ::
        )

    [2] => Array
        (
            [file] => /var/www/html/core/class/DB.class.php
            [line] => 91
            [function] => getConnection
            [class] => DB
            [type] => ::
        )

    [3] => Array
        (
            [file] => /var/www/html/core/class/config.class.php
            [line] => 192
            [function] => Prepare
            [class] => DB
            [type] => ::
        )

    [4] => Array
        (
            [file] => /var/www/html/core/class/translate.class.php
            [line] => 51
            [function] => byKeys
            [class] => config
            [type] => ::
        )

    [5] => Array
        (
            [file] => /var/www/html/core/class/translate.class.php
            [line] => 207
            [function] => getConfig
            [class] => translate
            [type] => ::
        )

    [6] => Array
        (
            [file] => /var/www/html/core/class/translate.class.php
            [line] => 102
            [function] => getLanguage
            [class] => translate
            [type] => ::
        )

    [7] => Array
        (
            [file] => /var/www/html/core/class/translate.class.php
            [line] => 81
            [function] => exec
            [class] => translate
            [type] => ::
        )

    [8] => Array
        (
            [file] => /var/www/html/core/class/translate.class.php
            [line] => 220
            [function] => sentence
            [class] => translate
            [type] => ::
        )

    [9] => Array
        (
            [file] => /var/www/html/core/config/jeedom.config.php
            [line] => 23
            [function] => __
        )

    [10] => Array
        (
            [file] => /var/www/html/core/php/utils.inc.php
            [line] => 84
            [args] => Array
                (
                    [0] => /var/www/html/core/config/jeedom.config.php
                )

            [function] => require_once
        )

    [11] => Array
        (
            [file] => /var/www/html/core/php/core.inc.php
            [line] => 27
            [function] => include_file
        )

    [12] => Array
        (
            [file] => /var/www/html/install/restore.php
            [line] => 28
            [args] => Array
                (
                    [0] => /var/www/html/core/php/core.inc.php
                )

            [function] => require_once
        )

)
[END RESTORE ERROR]

la il faudrait que tu réinstalla jeedom de 0 et ensuite restaurer une backup, il faut donc que tu télécharge la backup sur ton pc et que tu la renvoie sur le nouveau jeedom :slight_smile:
le problème est la base de donnée en mysql qui a planter
si tu veut apres avoir télécharger la backup sur ton pc tu peux tenter un apt reinstall mariadb

J’ai des backup qui partent tous les jours sur un google drive et un dropbox donc ça ça va.
Je tente donc directement apt reinstall mariadb :

root@jeedom:/var/log# apt reinstall mariadb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package mariadb
root@jeedom:/var/log#

Ca part mal…

je pense que le mieux est de relancer une reinstall complète de jeedom :slight_smile: mais vérifier que tu as bien la dernière backup sur ton drive

Bon, je peux essayer de tout réinstaller…
J’avais suivi un tuto de @Didier3L

Je vais chercher comment faire pour pas non plus tout refaire…

Merci de ton aide.

il a fait une update

Ah oui, j’ai essay éde retrouvé le lien pour le mettre ici mais trompé de lien, j’ai fait cette install en septembre donc je suis parti du dernier.

J’imagine que si je fais juste docker-compose up -d, il ne va pas se passer grand chose… je dois supprimer le docker non ?

Genre : docker rm jeedom-deb12

Et alors seulement : docker-compose up -d.
Je vois que l’image de jeedom boockworm a 6 semaines:

Je fais quand même :

root@Tonio-NAS:~# docker pull jeedom/jeedom:4.4-bookworm
4.4-bookworm: Pulling from jeedom/jeedom
b2b31b28ee3c: Pull complete
368077f90188: Pull complete
607ca19167f9: Pull complete
fa607545a70a: Pull complete
51b2d4fa619f: Pull complete
a8a9d6bb8be0: Pull complete
4f4fb700ef54: Pull complete
6dcc2d3a95bc: Pull complete
fe219de4548a: Pull complete
66e3a82a344f: Pull complete
6ba34abb4b56: Pull complete
fec18e052cd9: Pull complete
834f7df451bf: Pull complete
8536ad7507c2: Pull complete
596a654147fc: Pull complete
64f578aeac41: Pull complete
aa524bbbf9fb: Pull complete
5d8a7890263b: Pull complete
Digest: sha256:45633e417d323ce9eff29cf2e320848e4d0e65476bcf57d546c5ceb31c70d6d5
Status: Downloaded newer image for jeedom/jeedom:4.4-bookworm
docker.io/jeedom/jeedom:4.4-bookworm

C’est parti pour docker rm jeedom-deb12 :fearful:
Je supprimer tout le contenu des répertoires html et db

du coup normalement jeedom doit être en route reste a mettre ta backup

Pff, pas encore, ça prend un temps infini de supprimer les milliers de fichiers. J’ai lancé la commande depuis windows, j’aurais pas dû, mais comme je suis moins à l’aise avec les commande linux…
image
Je suis pas couché :sweat_smile:

Bonjour

Il faudrait poster dans la bonne section

Ah zut, ce serait laquelle ?
J’ai ajouté le tag docker

tu supprime quelle fichier ? car tu na pas besoin de suprimer quoi que ce soit pour envoyer une backup

Zut, quel gland… Je voulais repartir fresh donc comme au début quand y a plus rien.
En effet quand on supprime le docker, tout les fichiers dans les répertoires html et db restent…

Édite ton message pour modifier

OK changé ! Merci !