Question

Erreur Upgrate centreon apres Migration depuis une plateforme Centreon 3.4

  • 19 April 2022
  • 2 replies
  • 219 views

Badge +3

Bonjour,

J'ai récemment voulu Migré mon Centeron qui était en 3.8 en version 21.10 ,

J'ai donc suivi à la lettre tout en ajustant certaines informations liées à mon environnement / infrastructure.
 
Je suis donc arrivé au point où il faut forcer l'édition de la version via l'interface web.
j'ai donc suivi et copié le répertoire d'installation là où il faut et j'ai commencé.

je me suis donc retrouvé face à une erreur me disant que la base de données existait déjà. Je me suis dit qu'il a juste eu du mal à récupérer et a détecté que c'est un montage de version donc j'ai mis l'url au lieu de install.php mit upgrade.php et son lancé jusqu'à ce que je me retrouve sur l'erreur

"Update-DB-20.04.0-beta.1.sql Line 22: SQLSTATE[42,000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs "

j'ai fait le changement suivant et redémarré le mysql

Mettez les lignes suivantes sur votre fichier my.cnf et redémarrez le serveur mysql : `innodb_strict_mode = 0` 


et j'ai rafraîchi la page de mise à jour.

et c'est là que je me suis retrouvé avec cette erreur qui ne peut être contournée ou même pas résolue par mes soins.

`19.10.19 to 20.04.0-beta.1 好 UPGRADE - 20.04.0-beta.1: Unable to replace engine's broker modules configuration from xml to json format - While trying to insert in 'cb_type_field_relation' table new value`

dans le topic anglais on ma demande d’exécuté quelque commande:

Hello.
It’s seems to be issue with the format table:

https://mariadb.com/kb/en/troubleshooting-row-size-too-large-errors-with-innodb/

Could you try this request on your mysql database:

ALTER TABLE centreon.cb_type_field_relation ROW_FORMAT=DYNAMIC;

 

  sans aucune surprise cela na rien fait

God damnit.
Seems to be that request that know some trouble:
 

INSERT INTO `cb_type_field_relation` (
`cb_type_id`,
`cb_field_id`,
`is_required`,
`order_display`,
`jshook_name`,
`jshook_arguments`
)
VALUES (
(SELECT `cb_type_id` FROM `cb_type` WHERE `type_shortname` = 'sql'),
(SELECT `cb_field_id` FROM `cb_field` WHERE `fieldname` = 'connections_count'),
0,
7,
'countConnections',
'{\"target\": \"connections_count\"}'
),
(
(SELECT `cb_type_id` FROM `cb_type` WHERE `type_shortname` = 'storage'),
(SELECT `cb_field_id` FROM `cb_field` WHERE `fieldname` = 'connections_count'),
0,
7,
'countConnections',
'{\"target\": \"connections_count\"}'
)

If you play directly this command on your database centreon ? What is the return ?

  et voici le retour de sa requette SQL:

 

 

Pouvez-vous me dire comment je peux faire pour sortir de cette situation ?

Avez-vous déjà eu un cas similaire ?


2 replies

Userlevel 4
Badge +10

Bonjour,

 

Je pense que tu peux exécuter la requête suivante :

UPDATE `contact` SET `contact_autologin_key` = NULL WHERE `contact_autologin_key` = ''

 

Ensuite, tu peux supprimer les fichiers “/usr/share/centreon/www/install/php/Update-20.04.0-beta.1.php” et “/usr/share/centreon/www/install/sql/Update-20.04.0-beta.1.sql”

 

Puis poursuivre l’upgrade via l’interface.

Userlevel 5
Badge +16

Problem solved by bypass the request that blocked the upgrade process.
for a reason that I ignore the xml have been already convert to json which caused this issue.

Reply