mySQL corrompu

Bonjour,
Mon Jeedom dysfonctionne depuis quelques temps j’ai notamment des erreurs signalées au niveau de mysql.
Lorsque j’essaie de faire une sauvegarde :

[START BACKUP]
***************Start of Jeedom backup at 2024-02-23 16:13:38***************
Send begin backup event...OK
Checking files rights...
OK
Backup plugin JeedomConnect...OK
Checking  database...
mysqlcheck: Got error: 2013: Lost connection to MySQL server during query when executing 'CHECK TABLE ... '
jeedom.update
Warning  : Table jeedom/update in file ./jeedom/update.ibd is encrypted but encryption service or used key_id is not available.  Can't continue reading table.
Warning  : InnoDB: The B-tree of index status is corrupted.
error    : Corrupt
OK
Backing up database...mysqldump: Got error: 2002: "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)" when trying to connect
Error during backup: Backing up database failed. Check mysqldump installation. Code: 2Details : Array
(
)
[END BACKUP ERROR]
PHP Fatal error:  Uncaught Exception: Backing up database failed. Check mysqldump installation. Code: 2 in /var/www/html/install/backup.php:104
Stack trace:
#0 {main}
thrown in /var/www/html/install/backup.php on line 104

Dans les messages :

Error with 'GET_PLUGINS_UPDATE' method [API] - [MySQL] Error code : 42S02 (1932). Table 'jeedom.update' doesn't exist in engine : INSERT INTO `update` SET `id` = :id, `type` = :type, `logicalId` = :logicalId, `name` = :name, `localVersion` = :localVersion, `remoteVersion` = :remoteVersion, `status` = :status, `configuration` = :configuration, `source` = :source, `updateDate` = :updateDate

Bonjour,

Tu peux jeter un œil attentif à ce post : Message d'erreur jeedom history sur MAJ Jeedom - #10 par bobaxx

J’ai tenté cette première commande :

mysqlcheck -u root -p --all-databases

j’ai obtenu ça :

Enter password: mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

Tu n’as pas du taper le bon mot de passe d’accès à la base de donnée ou bien ce n’est pas le compte root mais jeedom.

Regarde dans Réglage > Système > Configuration puis onglet OS/DB.

Suis pas trop à l’aise avec Linux.

Je me suis connecté sur ma VM Jeedom en ssh

ssh XXXXXX@192.168.0.210
XXXXXXX@192.168.0.210's password:
Linux Jeedom 4.19.0-26-arm64 #1 SMP Debian 4.19.304-1 (2024-01-09) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Feb 23 16:07:53 2024 from 192.168.0.61
XXXXXXX@Jeedom:~$ sudo -i
root@Jeedom:~#
mysqlcheck -u root -p --all-databases
Enter password:

Là je mets le MDP trouvé ici


et j’obtiens ça

mysqlcheck: Got error: 1045: Access denied for user 'root'@'localhost' (using password: YES) when trying to connect
root@Jeedom:~#

Il faut taper ceci : mysqlcheck -u jeedom -p --all-databases (le -u signifie que tu cherches à te connecter avec l’utilisateur jeedom, le root n’est pas le bon compte ici

Merci on avance …

root@Jeedom:~# mysqlcheck -u jeedom -p --all-databases
Enter password:
jeedom.calendar_event                              OK
jeedom.cmd                                         OK
jeedom.config                                      OK
jeedom.cron                                        OK
jeedom.dataStore                                   OK
jeedom.eqLogic                                     OK
jeedom.eqReal                                      OK
jeedom.history                                     OK
jeedom.historyArch                                 OK
jeedom.interactDef                                 OK
jeedom.interactQuery                               OK
jeedom.listener                                    OK
jeedom.message                                     OK
jeedom.note                                        OK
jeedom.object                                      OK
jeedom.plan                                        OK
jeedom.plan3d                                      OK
jeedom.plan3dHeader                                OK
jeedom.planHeader                                  OK
jeedom.scenario                                    OK
jeedom.scenarioElement                             OK
jeedom.scenarioExpression                          OK
jeedom.scenarioSubElement                          OK
jeedom.timeline                                    OK
jeedom.update
Warning  : InnoDB: Index PRIMARY is marked as corrupted
error    : Corrupt
jeedom.user                                        OK
jeedom.view                                        OK
mysqlcheck: Got error: 2013: Lost connection to MySQL server during query when executing 'CHECK TABLE ... '
root@Jeedom:~#

J’ai continué comme ça

root@Jeedom:~# mysql -u jeedom -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.3.39-MariaDB-0+deb10u2 Debian 10

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

OK donc :
ALTER TABLE jeedom.update ENGINE=MyISAM;
quit
mysqlcheck -u jeedom -p --auto-repair --check --all-database

J’ai peut-être été un peu vite avant ta réponse

MariaDB [(none)]> ALTER TABLE jeedom.update ENGINE=MyISAM;
Query OK, 17 rows affected (0.039 sec)
Records: 17  Duplicates: 0  Warnings: 0
MariaDB [(none)]> mysqlcheck -u jeedom -p --auto-repair --check --all-database
    ->

je n’ai pas fait quit et je suis bloqué là →

Appuie sur ctrl+c

Pourquoi ne pas avoir tapé quit ? :slight_smile:

c’est juste que j’étais impatient et que j’ai passé ces commandes avant ta réponse … :unamused:

Ah :slight_smile:

Oui désolé je travaille en même temps alors je suis pas planté devant community

Du coup c’est OK tu as pu relancer le mysqlcheck en réparation ?

Pas de problème je comprends que tu n’as pas que ça à faire.
Non je n’arrive plus à me connecter en ssh, je cherche …

Merci beaucoup de m’avoir aidé mais pour une raison que j’ignore mon jeedom a planté complètement et impossible de le redémarrer ou d’y accéder en ssh.
Du coup je suis allé chercher une ancienne image de ma VM et je suis reparti de là en n’ayant plus cette erreur sur mysql mais en ayant à refaire toutes les dernières évolutions depuis.
Bon we :grinning:

Ouch … j’espère que ce n’est pas signe d’une défaillance du support (la raison pour laquelle une table aurait été corrompue + un KO de Jeedom alors que tu ne faisais que faire une réparation sur une table) …

Bon week-end