You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2022-06-03 11:11:54

MattClimb
Member
Registered: 2022-06-03
Posts: 3

[v9->v10] - Problème encodage glpi_tickets utf8mb4

Bonjour,

Nous avons une instance Mysql 8.0.23 qui héberge un GLPI de TEST v9.

Celui-ci a été migrée vers la version v10.

Au moment de l'encodage des tables en utf8mb4, il rencontre un problème sur la table glpi_tickets.

ALTER TABLE `glpi_tickets` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
--> Error Code: 1071. Specified key was too long; max key length is 767 bytes

Avez-vous déjà rencontré ce problème sur cette table ?

Merci d'avance pour votre aide,

Matt

Offline

#2 2022-06-03 13:23:43

cconard96
Moderator
Registered: 2018-07-31
Posts: 2,813
Website

Re: [v9->v10] - Problème encodage glpi_tickets utf8mb4

Si vous avez mis à jour MySQL à partir d'une ancienne version et conservé la configuration existante, vous devrez peut-être activer manuellement l'option "innodb_large_prefix" dans la base de données.

https://dev.mysql.com/doc/refman/5.7/en … rge_prefix


GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.

Offline

#3 2022-06-03 14:28:42

MattClimb
Member
Registered: 2022-06-03
Posts: 3

Re: [v9->v10] - Problème encodage glpi_tickets utf8mb4

Bonjour,

Merci pour votre retour.

J'avais consulté la documentation Mysql v8 et ce paramètre et déprécié depuis [dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-0.html]

Important Change; InnoDB: The following InnoDB file format configuration options were deprecated in MySQL 5.7.7 and are now removed:
    innodb_file_format
    innodb_file_format_check
    innodb_file_format_max
    innodb_large_prefix


Matt

Offline

#4 2022-06-08 15:56:29

MattClimb
Member
Registered: 2022-06-03
Posts: 3

Re: [v9->v10] - Problème encodage glpi_tickets utf8mb4

Bonjour,

Je vais me répondre à moi-même.

Dans le SETUP from scratch GLPI V10 toutes les tables sont créées en UTF8MB4 avec un ROW_FORMAT à DYNAMIC.

Mon problème est que sur ma base source [Production GLPI V9], toutes les tables ont un ROW_FORMAT à DYNAMIC sauf la table ou j'ai un soucis de conversion UTF8MB4 qui a un ROW FORMAT à COMPACT.

Avec un ROW FORMAT à COMPACT et un encodage UTF8MB4, mon index ne peut pas avoir de VARCHAR de plus de 191 [Large Index Prefix].
J'ai donc lors de l'import de la structure V9 dans ma base de TEST retiré de l'ordre DDL de création de la table glpi_tickets le ROW_FORMAT=COMPACT. En effet, le ROW_FORMAT par défaut sur ma base est à DYNAMIC.

Ma table a donc été créée en UTF8 (alias qui pointe sur UTF8MB3) avec un ROW_FORMAT à DYNAMIC.

J'ai ensuite testé de passer l'ordre de conversion manuellement de cette table en UTF8MB4.
3    11    15:12:57    ALTER TABLE `glpi_tickets` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci    80710 row(s) affected
Records: 80710  Duplicates: 0  Warnings: 0    24.469 sec

Celui-ci est passé sans problème.

Nous allons purger la base de TEST et relancer un processus de migration GLPI V10 en ayant au préalable créée la table glpi_tickets  avec un ROW_FORMAT à DYNAMIC.

Merci,

Matt

Offline

#5 2022-06-08 20:06:11

francois-teclib
Expert GLPI
From: TECLIB
Registered: 2006-11-05
Posts: 76
Website

Re: [v9->v10] - Problème encodage glpi_tickets utf8mb4

Hello MattClimb,

Vous avez la commande bin/console de GLPI :

glpi:migration:dynamic_row_format

Qui indique "Convert database tables to "Dynamic" row format (required for "utf8mb4" character support)."

Il faut effectivement l'exécuter avant le passage en utf8mb4.

++


Besoin d'un support professionnel pour GLPI ? Pensez à GLPI Network ! https://glpi-project.org/fr/tarifs/

Connaissez-vous l'offre Cloud maintenue et supportée par l'équipe qui édite GLPI ?
Vous pouvez tester gratuitement pendant 45 jours ! https://glpi-network.cloud (ou plus si besoin)

Offline

Board footer

Powered by FluxBB