Base mariadb HS

Bonjour, pour les pros de SQL/mariaDB , comment réparer une base ?

De retour de congés, mon HA est dans un état instable , apres analyse l espace disque est full , j ai fait le ménage ( j aurais pas du j ai effacé les backup comme un con pensant qu ils étaient aussi sur gdrive et c’etait pas le cas :frowning: ) , et ca se relance mais j ai plus d historiques …
mariaDB ne se lance pas et repete ceci dans les logs :

2022-08-10 13:12:59 0 [Note] InnoDB: Compressed tables use zlib 1.2.12
2022-08-10 13:12:59 0 [Note] InnoDB: Number of pools: 1
2022-08-10 13:12:59 0 [Note] InnoDB: Using generic crc32 instructions
2022-08-10 13:12:59 0 [Note] mariadbd: O_TMPFILE is not supported on /var/tmp (disabling future attempts)
2022-08-10 13:12:59 0 [Note] InnoDB: Using Linux native AIO
2022-08-10 13:12:59 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
2022-08-10 13:12:59 0 [Note] InnoDB: Completed initialization of buffer pool
2022-08-10 13:13:00 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=81481620797,81481620797
220810 13:13:00 mysqld_safe Number of processes running now: 0
220810 13:13:00 mysqld_safe mysqld restarted
2022-08-10 13:13:00 0 [Note] InnoDB: 128 rollback segments are active.
2022-08-10 13:13:00 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1"
2022-08-10 13:13:00 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2022-08-10 13:13:00 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2022-08-10 13:13:00 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2022-08-10 13:13:00 0 [Note] InnoDB: 10.6.8 started; log sequence number 81481620965; transaction id 1654501
2022-08-10 13:13:00 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-08-10 13:13:00 0 [Note] InnoDB: Loading buffer pool(s) from /data/databases/ib_buffer_pool
2022-08-10 13:13:00 0 [Note] Server socket created on IP: '[0.0.0.0](https://l.facebook.com/l.php?u=https%3A%2F%2F0.0.0.0%2F%3Ffbclid%3DIwAR06P1CUwyyfdduKwL3xthY-lXlcjO8TSywxnE9FYHh--uQuRtDQYkZlPD8&h=AT25gbwH3uFmFHAxImwMSiIJ-WG5oKWQ3-NqBoJ_c7BKYPtwnLHqZFqKaBhygEqB2-HtbHPkHDPXz5m2giinw5hsEivIQyxK-MyLx2dGg-9-Q8iC4Y5YZJ5hYvQJFXLxoA&__tn__=-UK-R&c[0]=AT27lz4XPRB5s44OPQbRIgJhN5bRGTxm8pnJpbT57OyVxpWsFXMKzOgZ7TLJwiZ2kDjg0H6iO5jClerwdOkbUdapTiijnhaeihejvhNIQ8GgJVCmrEWf9obVshF6cuWqiMCNimtRkNm1xC4FVwtkaPJ0yBQ9odPi7gc2a5UAFPRkuwANYnaiUlBWorb0683fNbYdDfSHICCiQpYt2dM)'.
2022-08-10 13:13:00 0 [Note] Server socket created on IP: '::'.
2022-08-10 13:13:00 0 [Note] /usr/bin/mariadbd (server 10.6.8-MariaDB) starting as process 4492 ...
2022-08-10 13:13:00 0 [ERROR] mariadbd: Can't lock aria control file '/data/databases/aria_log_control' for exclusive use, error: 11. Will retry for 30 seconds
2022-08-10 13:13:00 0 [Note] InnoDB: Buffer pool(s) load completed at 220810 13:13:00
2022-08-10 13:13:00 0 [Note] /usr/bin/mariadbd: ready for connections.
Version: '10.6.8-MariaDB' socket: '/run/mysqld/mysqld.sock' port: 3306 MariaDB Server
2022-08-10 13:13:01 0 [ERROR] InnoDB: Space id and page no stored in the page, read in are [page id: space=77, page number=262143], should be [page id: space=77, page number=4294967295]
2022-08-10 13:13:01 0xa37c9388 InnoDB: Assertion failure in file /home/buildozer/aports/main/mariadb/src/mariadb-10.6.8/storage/innobase/include/fut0lst.h line 129
InnoDB: Failing assertion: ut_align_offset(faddr, srv_page_size) >= FIL_PAGE_DATA
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to [https://jira.mariadb.org/](https://l.facebook.com/l.php?u=https%3A%2F%2Fjira.mariadb.org%2F%3Ffbclid%3DIwAR0-kTezQDhjNoEQX7ZMZL-ZhcUkLWTGeXOI9m-KVngFL5PCa5P_K0kdN-M&h=AT0Ld17BGgBq1Vkez-5EhDKEbw5CdhokoudHsKZyx32TxAwaB7HVbaD-HC34LSAVqUUZhlrOv0ZVGLfrjpPqFcH7s4F4FYYtawHsUGQyMws7rmE6Yx-3Ozzh9bRGfXDjVw&__tn__=-UK-R&c[0]=AT27lz4XPRB5s44OPQbRIgJhN5bRGTxm8pnJpbT57OyVxpWsFXMKzOgZ7TLJwiZ2kDjg0H6iO5jClerwdOkbUdapTiijnhaeihejvhNIQ8GgJVCmrEWf9obVshF6cuWqiMCNimtRkNm1xC4FVwtkaPJ0yBQ9odPi7gc2a5UAFPRkuwANYnaiUlBWorb0683fNbYdDfSHICCiQpYt2dM)
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mariadbd startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: [https://mariadb.com/kb/en/library/innodb-recovery-modes/](https://mariadb.com/kb/en/library/innodb-recovery-modes/?fbclid=IwAR1sjyR4qFr_-rZr5qI9JUV3QJF4hc80pdo-aCUkzB2BDzmtolSnqVavBwA)
InnoDB: about forcing recovery.

j ai essayé d aller dans le docker ( docker exec -it addon_core_mariadb bash ) et rajouter au /etc/my.cnf un innodb_force_recovery=1 , mais si je relance l addon mariaDB, ma modif disparait …

quelqu un aurait une solution miracle ?

en attendant j ai desactivé la ligne reccorder dans la conf, donc le systeme enregistre dans le fichier .db , est ce qu il sera possible si ma base est recuperable de re importer les données du db ?

Prendre une semaine de plus de vacance mais avec une nouvelle destination:
Lourdes direction la grotte
Mettre 5 euros dans la boite pour avec un cierge (un gros)
l’allumer, puis prier, prier, et prier… :joy: :joy: :joy: :joy:

Sans blaguer, pour moi tu refais une base neuve et toute propre.
Fait attention à la gestion de sauvegarde. Sans être parano, tu peux essayer d’appliquer la règle des 3.2.1.

2 « J'aime »

Moi je profiterai même de cette étape pour bien poser le sujet : Mariadb est-ce indispensable ?

2 « J'aime »

Je confirme, je suis repasser à sqlite ,il y a 3 mois, car trop d’instabilité sur MariaDB.
Je gardes le nécessaire sur 15 jours et ma base ne fait que 140 Mo
J’ai influxDB à coté pour garder vraiment le long terme (ex: mon suivi conso électrique)

1 « J'aime »
2022-08-10 13:13:00 0 [ERROR] mariadbd: Can't lock aria control file '/data/databases/aria_log_control' for exclusive use, error: 11. Will retry for 30 seconds

Salut,
Ta BdD refuse de démarrer a cause de ce fichier, supprime le et cela devrait mieux fonctionner.

il se peut que ca plante après, si c’est le cas, suit ce poste :

je n ai plus le message d erreur sur ce fichier, mais c est toujours pas OK , je vais regarder le lien a tete reposée .

@fredarro @Pulpy-Luke

alors pourquoi mariadb ? en fait j en sais rien .
j ai commencé HA apres 5 ans de jeedom , et j avoue que ca a eté dur et j ai bien pataugé dans la semoule .
mon fichier db a de suite fait 3Go apres 15jours … j ai donc cherché a le reduire et les tuto que j ai trouvé sur recorder conseillais mariadb, ce qui pour moi etait pratique car avec phpmyadmin je pouvais corriger les valeur d un de mes capteur qui merde de temps en temps .

la depuis 2 jours je suis a nouveau avec le fichier .db et il fait deja 800mo … ( mais j ai pas remis recorder )

influxdb , je veux bien essaye, mais j avoue ne pas avoir pigé le fonctionnement :slight_smile:

Alors dans ce cas, commence facile :

Une fois là, tu pourras envisager de mettre une base longue durée annexe. Parce que là, tu n’indiques pas ce que tu conserves sur le long termes, mais 3Go ça pique un peu

1 « J'aime »

alors , le sqlite, si j ai bien compris je l ai déjà , c est le home-assistantv2.db , je l ai depuis quelques jours, donc ça c est OK

le recorder, je lviens de le remettre , avec juste ce dont j ai besoin en entité, ça devrait calmer la boulimie du fichier :slight_smile: , par contre ce qui a eté enregistré e trop dedans, c est l action de purge qui me le virera ?

je vais regarder les 2 liens , ca vas me faire la lecture du WE :slight_smile:

donc si j ai compris , je laisse HA gérer sa base en limitant avec recorder sur une petite durée (genre 1 ou 2 semaines pour avoir les graphs rapidement sous HA ) , et graphana ou influx db pour le long term ?

dans ce cas est ce que la page energie vas rester en historique ? ou elle deviens obsolette et tout passe par grafana ?

C’est ça HA gère son historique courant par défaut. 10j si tu ne touche à rien.
Si tu as déjà des données en trop et puisque ça fait seulement 2 jours, tu laisses comme ça ou si tu veux vraiment optimiser le truc, tu effaces simplement le fichier .db et tu redémarres

Ensuite tu peux effectivement, si tu veux une durée plus longue => influxdb (avec grafana pour faire quelques graphiques en plus), MAIS si ton besoin c’est juste le dashboard energie alors, tu n’a même pas besoin de ça : HA dispose pour cette partie des long term statistics

1 « J'aime »

ok, mon anglais n etant pas parfait ( pas facile en informatique :stuck_out_tongue: ) , je comprends donc que HA gere comme un grand toutes les mesures qui il purge apres 10j sauf les longterms dont il purge de maniere en en avoir une par heure et ces dernières indefiniment .

la seule chose a faire pour ne pas avoir une base monstrueuse et d utiliser recorder pour ne mémoriser QUE ce qui est essentiel .

merci pour les liens et les explications :slight_smile: quand a mon historique, j ai fait le deuil ( domage, c est surtout la conso électrique qui etait enregistrée depuis mars qui etait utile )

2 « J'aime »

C’est exactement ça !

Je te conseille de stocker les valeurs de ta conso électrique sur sur une autre base.
Perso, je les stocke sur InfluxDB.
Sur influxDB, j’ai mis tout ce que je souhaite garder sur du très long terme. (ex: temp, pression, et hum extérieure, conso électrique, …)